计算机软件著作权登记中使用的软件分类编码指南

计算机软件著作权登记中使用的软件分类编码指南
一、计算机软件著作权登记中使用的软件分类编码的结构采用组合代码的结构,由9位数字组成并按照从左至右的顺序排列,前5位数字代表计算机软件分类的代码;后4位数字代表计算机软件适用的国民经济行业的代码。

1、计算机软件分类代码参照国家标准《计算机软件分类与代码》(报批稿)有关规定确定。

计算机软件分类代码的填写按照本指南中的表一执行。

2、计算机软件适用的国民经济行业代码根据国家标准GB4754-84《国民经济行业分类和代码》有关规定确定。

计算机软件适用的国民经济行业代码的填写可按照本指南中的表二执行。

若因计算机软件的适用范围广,无法对应某一行业时,该代码可用"0"填写。

二、登记软件分类编码的表示形式。

计算机软件分类代码与计算机软件适用的国民经济行业代码之间用连体符"一"连接,表示形式如下:
×××××- ×××××
───┰─────┰─────┰─────
┃┃┃
┃┃┃
┃┃┖────软件适用的国民经济行业代码
┃┖────连体符
┖────计算机软件分类代码
表一:
计算机软件分类代码表
代码计算机软件类别说明
10000系统软件
11000操作系统包括实时、分时、分布式、智能等操作系统12000系统实用程序
13000系统扩充程序包括操作系统的扩充、汉化
14000网络系统软件
19900其他系统软件
30000支持软件
31000软件开发工具
32000软件评测工具
33000界面工具
34000转换工具
35000软件管理工具
36000语言处理程序
37000数据库管理系统
38000网络支持软件
39900其它支持软件
60000应用软件
61000科学和工程计算软件
61500文字处理软件
62000数据处理软件
62500图形软件
63000图象处理软件
64000应用数据库软件
65000事务管理软件
65500辅助类软件
66000控制类软件
66500智能软件
67000仿真软件
67500网络应用软件
68000安全与保密软件
68500社会公益服务软件
69000游戏软件
69900其它应用软件
表二:
计算机软件适秀的国民经济行业代码表代码类别名称说明
0100农业
0300林业
0400畜牧业
0500渔业
0600水利业
0700农、林、牧、渔、水利服务业0800煤炭采选业
0900石油天然气开采业
1000黑色金属矿采选业
1100有色金属矿采选业
1200建筑材料及其他非金属矿采选业1300采盐业
1400其他矿采选业
1500木材及竹材采运业
1600自来水生产和供应业
1700食品制造业
1900饮料制造业
2000烟草加工业
2100饲料工业
2200纺织业
2400缝纫业
2500皮革、毛皮及其制品业
2600木材加工及竹、藤、棕、草制品业2700家俱制造业
2800造纸及纸制品业
2900印刷业
3000文教体育用品制造业
3100工艺美术品制造业
3300电力、蒸汽、热水生产和供应业
3500炼焦、煤气及煤制品业
3600化学工业
3800医药工业
4000化学纤维工业
4100橡胶制品业
4300塑料制品业
4500建筑材料及其他非金属矿物制品业4800黑色金属冶炼及压延加工业
4900有色金属冶炼及压延加工业
5100金属制品业
5300机械工业
5600交通运输设备制造业
5800电气机械及器材制造业
6000电子及通讯设备制造业
6300仪器仪表及其他计量器具制造业6600其他工业包括工业生产管理系统6700地质普查和勘探业
6900建筑业包括土木建筑业
7000线路、管道及设备安装业
7100勘察设计业
7300交通运输业
7500商业包括国内商业及对外贸易业
7700公共饮食业
7800物资供销业
7900仓储业
8000房地产管理业
8100公用事业
8200居民服务业
8300咨询服务业
8400卫生事业
8500体育事业
8600社会福利事业
8700教育事业
8800文化艺术事业包括电影、艺术、出版、文物、图书馆、新闻及其他文化事业
8900广播电视事业
9000科学研究事业包括自然科学研究事业,社会科学研究事业,综合科学研究事业
9100综合技术服务事业包括气象、地震、测绘、计量、海洋环境、环境保护、计算机事业及其他综合技术服务事业
9300金融业
9400保险业
9500国家机关
9600政党机关
9800企业管理机关9900其他行业。

合集下载

软件分类目录及代码

软件分类目录及代码

软件分类目录及代码操作系统、数据库系统E101010100 1.操作系统 E101010101 录入(1)通用操作系统 E101010102 录入(2)嵌入式操作系统 E101010200 录入 2.数据库系统 E101010300 录入3.其他领域中间件(移动平台、IFID、机顶盒)、业务中间件(应用集成、信息集成)、基础中间件(交易、消息)等。

E101020100 1.基础中间件 E101020101 录入(1)交易中间件E101020102 录入(2)消息中间件 E101020103 录入(3)应用服务器(J2EE)E101020104 录入(4)对象中间件 E101020105 录入(5)其他 E101020200 2.业务中间件 E101020201 录入(1)系统集成中间件 E101020202 录入(2)信息集成中间件 E101020203 录入(3)企业服务总线 E101020204 录入(4)工作流中间件 E101020205 录入(5)门户中间件E101020206 录入(6)安全中间件E101020207 录入(7)商业智能中间件E101020208 录入(8)内容管理中间件E101020209 录入(9)其他业务中间件E101020300 3.领域中间件E101020301 录入(1)计算机语言集成中间件(CTI)E101020302 录入(2)移动中间件E101020303 录入(3)无线射频(RFID)中间件E101020304 录入(4)数字电视中间件E101020305 录入(5)其他E101020400 录入 4.其他中间件通用软件、行业应用软件、文字语言处理等。

E101030100 1.通用软件 E101030101 录入(1)字处理软件E101030102 录入(2)报表处理软件 E101030103 录入(3)地理信息软件E101030104 录入(4)网络软件 E101030105 录入(5)游戏软件 E101030106 录入(6)企业管理软件 E101030107 录入(7)多媒体应用软件 E101030108 录入(8)辅助设计与辅助制造(CAD/CAM)软件 E101030109 录入(9)信息安全软件 E101030110 录入(10)其它通用软件 E101030200 2.行业应用软件E101030201 录入(1)政务软件E101030202 录入(2)商务(贸)软件 E101030203 录入(3)财税软件E101030204 录入(4)金融软件 E101030205 录入(5)商业软件 E101030206 录入(6)通信软件 E101030207 录入(7)能源软件 E101030208 录入(8)工业控制 E101030209 录入(9)教育软件 E101030210 录入(10)旅游服务业E101030211 录入(11)交通应用 E101030212 录入(12)会计核算软件/财务管理软件 E101030213 录入(13)统计软件 E101030214 录入(14)其它行业应用软件 E101030300 3.文字语言处理 E101030301 录入(1)信息检索 E101030302 录入(2)文本处理 E101030303 录入(3)语音应用 E101030304 录入(4)其它资源库 E101030305 录入(5)机器翻译 E101030306 录入(6)其它文字处理软件指企业接受委托开发的嵌入式软件E201010000 录入 (一)电子政务系统集成 E201020000 录入 (二)电子商务系统集成(三)企业管理(含CRM、ERP等) E201030000 录入集成E201040000 录入 (四)金融、保险系统集成 E201050000 录入 (五)商业、医院系统集成 E201060000 录入(六)交通管理应用系统集成 E201070000 录入(七)其他系统集成软件咨询、维护、培训、调试和系E301010000 录入(一)软件售后服务统扩充等服务 E301010100 录入其中:软件测试服务包括:分析、设计、编制定制软件,如:分析用户需求和提出解决方案的软件,编写用户指定的任何软E301020000 录入(二)软件咨询和供应件,网页设计等。

计算机软件著作权登记中使用的软件分类编码指南

计算机软件著作权登记中使用的软件分类编码指南

计算机软件著作权登记中使用的软件分类编码指南发文单位:机械电子工业部发布日期:1992-4-18 执行日期:1992-4-18 一、计算机软件著作权登记中使用的软件分类编码的结构采用组合代码的结构,由9位数字组成并按照从左至右的顺序排列,前5位数字代表计算机软件分类的代码;后4位数字代表计算机软件适用的国民经济行发文单位:机械电子工业部发布日期:1992-4-18执行日期:1992-4-18一、计算机软件著作权登记中使用的软件分类编码的结构采用组合代码的结构,由9位数字组成并按照从左至右的顺序排列,前5位数字代表计算机软件分类的代码;后4位数字代表计算机软件适用的国民经济行业的代码。

1、计算机软件分类代码参照国家标准《计算机软件分类与代码》(报批稿)有关规定确定。

计算机软件分类代码的填写按照本指南中的表一执行。

2、计算机软件适用的国民经济行业代码根据国家标准GB4754-84《国民经济行业分类和代码》有关规定确定。

计算机软件适用的国民经济行业代码的填写可按照本指南中的表二执行。

若因计算机软件的适用范围广,无法对应某一行业时,该代码可用“0”填写。

二、登记软件分类编码的表示形式。

计算机软件分类代码与计算机软件适用的国民经济行业代码之间用连体符“一”连接,表示形式如下:××××××××××───┰─────┰──────┰─────┃┃┃┃┃┃┃┃┖────软件适用的┃┖────连体符国民经济行业代码┖──── 计算机软件分类代码表一:计算机软件分类代码表代码计算机软件类别说明10000 系统软件11000 操作系统包括实时、分时、分布式、智能等操作系统12000 系统实用程序13000 系统扩充程序包括操作系统的扩充、汉化14000 网络系统软件30000 支持软件31000 软件开发工具32000 软件评测工具33000 界面工具34000 转换工具35000 软件管理工具36000 语言处理程序37000 数据库管理系统38000 网络支持软件39900 其它支持软件60000 应用软件61000 科学和工程计算软件61500 文字处理软件62000 数据处理软件62500 图形软件63000 图象处理软件64000 应用数据库软件65000 事务管理软件65500 辅助类软件66000 控制类软件66500 智能软件67500 网络应用软件68000 安全与保密软件68500 社会公益服务软件69000 游戏软件69900 其它应用软件表二:计算机软件适用的国民经济行业代码表代码类别名称说明0100 农业0300 林业0400 畜牧业0500 渔业0600 水利业0700 农、林、牧、渔、水利服务业0800 煤炭采选业0900 石油天然气开采业1000 黑色金属矿采选业1100 有色金属矿采选业1200 建筑材料及其他非金属矿采选业1300 采盐业1400 其他矿采选业1500 木材及竹材采运业1600 自来水生产和供应业1700 食品制造业1900 饮料制造业2000 烟草加工业2100 饲料工业2200 纺织业2400 缝纫业2500 皮革、毛皮及其制品业2600 木材加工及竹、藤、棕、草制品业2700 家俱制造业2800 造纸及纸制品业2900 印刷业3000 文教体育用品制造业3100 工艺美术品制造业3300 电力、蒸汽、热水生产和供应业3400 石油加工业3500 炼焦、煤气及煤制品业3600 化学工业3800 医药工业4000 化学纤维工业4100 橡胶制品业4300 塑料制品业4500 建筑材料及其他非金属矿物制品业4800 黑色金属冶炼及压延加工业4900 有色金属冶炼及压延加工业 (共计2页) 1 2 发文单位:机械电子工业部发布日期:1992-4-18 执行日期:1992-4-18 一、计算机软件著作权登记中使用的软件分类编码的结构采用组合代码的结构,由9位数字组成并按照从左至右的顺序排列,前5位数字代表计算机软件分类的代码;后4位数字代表计算机软件适用的国民经济行5100 金属制品业5300 机械工业5600 交通运输设备制造业5800 电气机械及器材制造业6000 电子及通讯设备制造业6300 仪器仪表及其他计量器具制造业6600 其他工业包括工业生产管理系统6700 地质普查和勘探业6900 建筑业包括土木建筑业7000 线路、管道及设备安装业7100 勘察设计业7300 交通运输业7400 邮电通讯业7500 商业包括国内商业及对外贸易业7700 公共饮食业7800 物资供销业7900 仓储业8000 房地产管理业8100 公用事业8200 居民服务业8300 学习服务业8400 卫生事业8500 体育事业8600 社会福利事业8700 教育事业8800 文化艺术事业包括电影、艺术、出版、文物、图书馆、新闻及其他文化事业8900 广播电视事业9000 科学研究事业包括自然科学研究事业,社会科学研究事业,综合科学研究事业9100 综合技术服务事业包括气象、地震、测绘、计量、海洋环境、环境保护、计算机事业及其他综合技术服务事业9300 金融业9400 保险业9500 国家机关9600 政党机关9700 社会团体9800 企业管理机关9900 其他行业机械电子工业部 (共计2页) 1 2。

计算机软件分类与代码

计算机软件分类与代码

1600
39900 其它支持软件
1700
60000 应用软件
1900
61000 科学和工程计算软件
2000
61500 文字处理软件
2100
62000 数据处理软件
2200
62500 图形软件
2400
63000 图象处理软件
2500
64000 应用数据库软件
2600
65000 事务管理软件
2700
65500 辅助类软件
二、登记软件分类编码的表示形式。 计算机软件分类代码与计算机软件适用的国民经济行业代码之间
计算机软件分类代码表
10000 系统软件
100
11000 操作系统 包括实时、分时、分布式、智能等操作系统
300
12000 系统实用程序
400
13000 系统扩充程序 包括操作系统的扩充、汉化
500
14000 网络系统软件
算机软件分类与代码
构,由9位数字组成并按照从左至右的顺序排列,前5位数字代表计算机软件分类的代码;后 )有关规定确定。计算机软件分类代码的填写按照本指南中的表一执行。 济行业分类和代码》有关规定确定。计算机软件适用的国民经济行业代码的填写可按照本指 代码可用"0"填写。
适用的国民经济行业代码之间用连体符"一"连接,表示形式如下:
计算机软件分类与代码
一、计算机软件著作权登记中使用的软件分类编码的结构采用组合代码的结构,由9位数字组成并按照从 4位数字代表计算机软件适用的国民经济行业的代码。 1、计算机软件分类代码参照国家标准《计算机软件分类与代码》(报批稿)有关规定确定。计算机软件 2、计算机软件适用的国民经济行业代码根据国家标准GB4754-84《国民经济行业分类和代码》有关规定 南中的表二执行。若因计算机软件的适用范围广,无法对应某一行业时,该代码可用"0"填写。

计算机软件著作权登记中使用的软件分类编码指南

计算机软件著作权登记中使用的软件分类编码指南

计算机软件著作权
登记中使用的软件分类编码指南
一、计算机软件著作权登记中使用的软件分类编码的结构采用组合代码结构,由9位数字组成并按照从左至右的顺序排列,前5位数字代表计算机软件分的代码;后4位数字代表计算机软件适用的国民经济行业的代码。

1、计算机软件分类代码参照国家标准《计算机软件分类与代码》(报批稿)有关规定确定。

2、计算机软件适用的国经济行业代码根据国家标准GB4754-84《国民经济行业分类和代码》有关规定确定。

计算机软件适用的国民经济行业代码的填写可按照本指南的表二执行。

若因计算机软件的适用范围广,无法对应某一行业时,该代码可用“0”填写。

二、登记软件分类编码的表示形式。

登记软件分类代码与计算机软件适用的国民经济行业代码之间用连体符“—”连接,表示形式如下:。

计算机软件著作权登记申请指南

计算机软件著作权登记申请指南

计算机软件著作权登记申请指南计算机软件著作权登记申请指南申请者在申请办理各项计算机软件著作权登记手续时,请仔细阅读《计算机软件保护条例》、《计算机软件著作权登记办法》和国家版权局发布的有关软件登记事项的公告一、申请需知1、版权登记官费:元/件2、所提交的纸介质申请文件和证明文件需复制在A4纸上;提交的各类表格应当使用中国版权保护中心制定的统一表格,填写内容应当使用钢笔或签字笔填写或者打印,字迹应当整齐清楚,不得涂改;申请表格内容应当使用中文填写,并由申请者盖章;提交的各种证件和证明文件是外文的,应当附送中文译本;所提交的申请文件应当为一份二、各类申请的文件交存要求1、计算机软件著作权登记申请1 按照要求填写的计算机软件著作权申请表2 申请者身份证明(1) 法人或其他组织身份证明——企业法人:营业执照副本;事业法人: 事业法人代码证书;其他组织:台湾省法人应提供营业执照公证书;香港和澳门特别行政区法人应提供营业执照复印件;外国公司应提供营业执照复印件(2) 自然人身份证明——中国公民居民身份证复印件或其他证明复印件;外国个人需提交护照复印件或个人身份证明(3) 代理人身份证明软件著作权人委托代理人代为办理软件著作权登记申请的,应提交授权委托书3 鉴别材料(1) 源程序按前、后各连续30页共60页(不足60页全部提交)源程序每页不少于50行(结束页除外) 右上角标注页号1-60;(2) 文档(如:用户手册、设计说明书、使用说明书等任选一种)按前、后各连续30页共60页(不足60页全部提交)每页不少于30行(结束页除外) 右上角标注页号1-60 [注] 已办理软件著作权登记的,其著作权发生继承、受让、承受时,当事人应当出具软件著作权登记证书,无须提交鉴别材料4 其他软件权属证明文件软件权属证明委托开发:——合作开发:合同书或协议书;软件委托开发协议或合同书;下达任务开发:下达任务开发软件任务书;利用他人软件开发的软件:许可证明三、软件登记申请表填表说明① 软件名称栏1全称:申请著作权登记的软件的全称软件名称应简短明确、针对性强,各种文件中的软件名称应填写一致;2简称:对登记软件全称进行简化的名称; 3分类号:按照国家标准GB/T和GB/中的代码确定的分类编号; 4版本号:申请著作权登记的软件的版本号[注] 软件作品的版本说明a.高版本软件作为原创软件登记或者使用特定版本号时,需要提交申请登记软件为原创软件的版本说明b.属于非原创软件时,概括说明据此取得著作权的材料和新增部分说明若该软件是在原有软件基础上通过修改、翻译、合成等再创作后形成的修改本、合成软件或翻译本软件应简短明确阐述“该软件新增功能模块”或“程序的第10~行”、“全部翻译文本”等对合成软件应对其取得著作权的材料及所编入的材料进行概括性描述还应说明原有软件名称及版本号若原有软件已经进行登记的,应写明软件登记号未登记的也应注明说明字数限于字之内② 日期栏a.开发完成日期:软件开发者将该软件全部固定在某种物质载体上的日期b.首次发表日期:著作权人首次将该软件公之于众的日期发表的方式包括:销售和向他人提供复制件,以及网上发布、产品发布、为销售目的的展示等③ 软件开发情况栏a 开发方式:分为独立开发、合作开发、委托开发和下达任务开发b 开发者情况说明:包括开发者的名称、国籍和详细的地址④ 原始取得权利栏软件著作权人:应写明软件著作权人的名称、国籍和详细地址⑤ 继受取得权利栏a 继受情况:分为继承人、受让人、承受人b 软件著作权人:应写明著作权人的名称、国籍和详细地址c 权利范围:分为全部权利和部分权利选择部分权利时,需要注明具体的权项和地域⑥ 软件用途和技术特点栏a 登记软件的适用行业和用途;b 登记软件的开发和运行的硬件环境、软件环境;c 登记软件的编程语言及版本号,程序量;d 登记软件的创作目的、主要功能和技术特点;e 登记软件的零售价或者报价⑦ 申请者栏a 申请者是单位的,应写出单位全称、地址、营业执照号或者事业法人代码证书号、电话、邮政编码、传真号、E-,并指定专人作为联系人b 申请者是个人的,应写出姓名、地址、身份证号、电话、邮政编码、传真号、E-所提供的通讯地址应准确,以便于迅速投递⑩ 申请人签章栏:申请人或代理者应认真阅读并承诺权利保证条文申请人为个人时请签名或者加盖人名章;申请人为单位时请加盖公章,影印无效委托代理者的,由代理者签章申请须知1、办理软件登记申请应当以书面的方式提交必要的申请文件,并按规定缴纳费用2、申请文件都应当按规定签章,签章应当与申请表中填写的姓名或者名称完全一致3、申请人提交的证明文件是外文的,应当附有中文译本申请所需提交的证明文件应当使用原件或副本,无法提交原件的,应当在提交的复印件上注明“与原件一致”,并加盖申请人的签章4、申请文件应当使用A4纸张,纵向、单面使用,文字应当从左向右排列申请文件各部分应当分别用数字顺序在右上角标注页码5、申请文件是邮寄的,应当使用挂号信函或特快专递邮寄6、申请人可以自己办理登记,也可以委托代理机构办理登记7、申请人应当将所提交的申请文件留存一份,便于在补正程序中保持文件内容的一致8、办理软件著作权登记的联系方式:邮寄联系地址:北京市东城区安定门东大街28号雍和大厦西楼三层现场办理地址:雍和大厦西楼一层国际版权交易中心版权登记大厅咨询电话:—查询电话:—邮寄材料查询电话:—9、软件登记申请费和查询费用通过银行汇款的,请务必将费用汇入以下专用帐号:开户银行:中信银行北京阜成门支行帐户名称:中国版权保护中心银行帐户:收款室传真:-办理登记步骤 1、办理流程填写申请表--→提交申请文件--→缴纳申请费--→登记机构受理申请--→补正申请文件--→取得登记证书 2、填写申请表在中心网站上,首先进行用户注册,然后用户登陆,在线按要求填写申请表后,确认、提交并打印 3、提交申请文件申请人或代理人按照要求提交登记申请文件 4、缴纳申请费申请文件符合受理要求时,软件登记机构发出缴费通知,申请人或代理人按照通知要求缴纳费用 5、登记机构受理申请申请文件符合受理要求并缴纳申请费的,登记机构在规定的期限内予以受理,并向申请人或代理人发出受理通知书及缴费票据 6、补正程序申请文件存在缺陷的,申请人或代理人应在规定期限内补正,逾期不补正的,申请将被视为撤回;经补正仍不符合登记办法的,登记机构将不予登记并书面通知申请人或代理人 7、获得登记证书如到登记受理大厅领取证书,应当在受理之日起30个工作日后,持受理通知书原件领取证书如需邮递的,请在申请表中填写正确的联系地址软件著作权登记申请所需文件通过独立开发软件,对软件享有软件著作权的自然人、法人或其他组织,或通过合同约定、受让、继承、承受取得软件著作权的自然人、法人或其他组织,可以申请著作权登记软件著作权登记申请文件应当包括:软件著作权登记申请表、软件的鉴别材料、申请人身份证明和相关的证明文件各一式一份 1、软件著作权登记申请表•应提交在线填写的申请表打印件,签章应为原件 2、软件的鉴别材料•一般交存:源程序和文档应提交前、后各连续30页,不足60页的,应当全部提交;•例外交存:请按照《计算机软件著作权登记办法》第十二条规定的方式之一提交软件的鉴别材料注:源程序和文档应在页眉上标注相应的软件名称和版本号,右上角应标注页码,源程序每页不少于50行,文档每页不少于30行 3、有关证明文件证明文件包括:申请人及代理人的身份证明文件、权利归属证明文件等①委托书及代理人身份证明登记申请委托代理的,应当提交代理人的身份证明文件复印件,申请表中应当明确委托事项、委托权限范围、委托期限等内容②有效身份证明文件•企业法人单位提交有效的营业执照副本的复印件;•事业法人单位提交有效的事业法人证书的复印件;•社团法人单位提交民政部门出具的有效的社团法人证书的复印件;•其他组织提交工商管理机关或民政部门出具的证明文件复印件;•自然人申请的,提交身份证或护照等有效证明的复印件③权利归属的证明文件•委托开发的应当提交委托开发合同;•合作开发的应当提交合作开发合同;•下达任务开发的应当提交上级部门的下达任务书;•受让取得软件著作权的应当提交软件著作权转让协议;•原著作权人的企业被合并或分立,由合并或分立后的其他企业享有著作权的,需要提交的证明文件包括:企业注销登记证明、股东会或董事会决议等其他证明;•继承人继承的,需要提供的证明文件包括:被继承人的死亡证明、被继承人有效遗嘱、与被继承人的关系证明、继承人身份证明、法院的法律文书等 4、其他证明文件•修改他人软件应当授权许可的,应当提交授权书计算机软件著作权登记申请表填写说明本表适用范围:本表适用于著作权人原始取得著作权,以及通过转让、继承或承受取得著作权的软件著作权人登记申请时填写 1、软件基本信息:软件名称a全称:申请著作权登记的软件的全称软件名称应简短明确、针对性强,各种文件中的软件名称应填写一致可参考软件行业协会发布的:品牌 + 产品用途与功能+“软件”的命名规范;b简称对登记软件全称进行简化的名称如:、、等;c分类号:在表中提供的原国家标准GB/T和国家标准GB/-中的代码确定的分类编号选择填写;d版本号:申请著作权登记的软件的版本号软件作品说明选择申请软件是原创软件还是修改软件申请软件属于在原有软件基础上形成的修改软件的,请填写修改软件作品说明,简短明确阐述“该软件新增功能模块”或“程序的第10~行”、“全部翻译文本”等对翻译或合成软件应对其取得著作权的材料及所编入的材料进行概括性描述说明字数限于字之内若原有软件已经进行登记的,应注明原软件著作权登记号开发完成日期:选择填写软件开发者将该软件全部固定在某种物质载体上的日期发表状态:选择填写著作权人首次将该软件公之于众的日期发表的方式包括:销售和向他人提供复制件,以及网上发布、产品发布、为销售目的的展示等 a软件已发表的,请选择已发表选项,并填写首次发表日期和首次发表地点所在的国家或城市;b软件未发表的,请选择未发表选项,并选择填写是否允许公众查阅该申请登记软件的鉴别材料开发方式:原始取得著作权的情况,选择填写表中提供的方式之一: a单独开发:指依靠自身的条件自行开发完成的软件;b合作开发:指两人或两人以上依据合作协议共同开发完成的软件需要提供的证明文件:证明申请人享有权利合作开发协议; c委托开发:指委托人与被委托人之间依据委托协议开发完成的软件需要提供的证明文件:证明申请人享有著作权的委托协议; d下达任务开发:指根据国家机关下达的项目任务书开发完成的软件需要提供的证明文件:证明申请人享有著作权的项目任务书、2 、著作权人1)姓名或名称:选择填写著作权人的类别、证件类型和号码、国籍、所属省份城市和园区;2)类别:其中包括自然人、法人或其他组织;a著作权人是自然人的,应填写真实姓名,需要提交的证明文件复印件包括身份证、军官证、护照或其他身份证明;b著作权人是法人的,应填写名称、类别、国籍、省份、城市和园区;企业法人,指获得法人资格的企业需提交的文件为工商营业执照;机关法人,指获得法人资格的国家机关需提交的文件为组织机构代码证书;事业单位法人,指获得法人资格的事业单位需提交的文件为事业法人证书;社会团体法人,指获得法人资格的社会团体需提交的文件为社团法人证书、组织机构代码证书;c其他组织:其他组织是指经登记并领取营业执照或社会团体登记证,但不具有法人资格的组织法人的分支机构需提交的文件为营业执照或社会团体登记证,以及法人不主张著作权的证明 3)证件类型 4)证件号码5)国籍省份/城市园区 3、权利说明权利取得方式:选择著作权人取得权利的方式,包括原始取得和继受取得;软件著作权是通过继受取得的,从下列方式之一中选择填写:a转让,是指著作权人将著作权中的全部或部分财产权有偿或无偿地移交给他人所有的法律行为,需要提供的证明文件为著作权转让合同;b继承,指根据继承法继承人继承被继承人的著作权中财产权利,需要提供的证明文件是被继承人的死亡证明、被继承人有效遗嘱、与被继承人的关系证明、继承人身份证明、法院的法律文书;c承受:是指享有原著作权的企业被合并或分立,由合并或分立后其他企业享有著作权情况,需要提供的证明文件是企业变更证明及其他证明;该申请软件已作过著作权登记的,填写原登记号;原登记事项作过变更或补充登记的,填写变更或补充证明编号权利范围:选择著作权人享有权利的范围包括下述情况之一:a全部权利:指《计算机软件保护条例》第8条规定的所有权利,且没有任何限制; b部分权利:指《计算机软件保护条例》第8条规定的一项或者多项权利,并需要注明具体的权项 4、软件鉴别材料提供以下选择一般交存:源程序的连续的前30页和连续的后30页例外交存的选择下列方式之一:a提交源程序的前、后30页使用黑色宽斜线覆盖百分之五十;b提交源程序的前10页和任选连续的50页;c提交目标程序的前、后30页和源程序任选连续的20页;注:源程序和文档应在页眉上标注相应的软件名称和版本号,右上角应标注页码,源程序每页不少于50行,文档每页不少也30行5、软件功能和技术特点只供软件首次登记填写a硬件环境:指开发和运行登记软件的计算机硬件和专用设备;b软件环境:指开发和运行登记软件的操作系统、支持软件的名称及版本号;c编程工具及版本号:指编写登记软件的编程工具,如:VC ,VB ; d 源程序量:指登记软件的源程序的总行数或者总条数; e主要功能和技术特点:简短明确阐述软件的创作目的、主要功能、用途和技术特点说明字数限于字之内 6、申请人信息a申请方式:选择著作权人或代理人; b申请人详细信息:申请人是法人和其他组织的,填写单位全称、地址、营业执照号或者事业法人代码证书号、电话、邮政编码、传真号、E-,并指定专人作为联系人申请人是个人的,应写出姓名、地址、身份证号、电话、邮政编码、传真号、E- 7、代理人信息a授权委托:申请人委托代理的,在此栏填写委托代理范围和权限,以及代理授权期限;b代理人详细信息:应填写代理人的单位全称、地址、营业执照号、电话、邮政编码、传真号、E-,代理机构应指定一名专人作为联系人代理人身份证明文件中名称或姓名应当与授权委托的单位全称一致8、申请人签章申请人应认真阅读并承诺所保证条文;申请人为个人的签名或者加盖人名章;申请人为单位的请加盖公章,签章影印无效中国版权保护中心对本表格填写说明具有最终的解释权和修改权软件著作权登记审批流程图依据《计算机软件著作权登记办法》的规定,申请审批流程分为受理、审查、登记三个阶段软件著作权登记机构中国版权保护中心联系地址:北京市东城区安定门东大街28号雍和大厦西楼三层现场办理地址:雍和大厦西楼一层国际版权交易中心版权登记大厅咨询电话:—乘车路线:乘坐44路、、13、路、特2路等公交车,雍和宫桥东下车;乘坐地铁2号线、5号线雍和宫站下车往东即到办理时限软件著作权登记申请,受理之日起30个工作日申请费用申请费可以直接向中国版权保护中心财务处面交,或通过银行或邮局汇付通过邮局或银行缴纳费用时,应当在汇单附言栏中写明正确的申请流水号、缴纳费用名称及发票收据上的单位名称,有受理号或登记号的,应当注明受理号或登记号1、缴费时间收到缴纳申请费通知书起应当在10个工作日内缴费 2、缴费标准详见下表《计算机软件著作权登记收费标准》计算机软件著作权登记收费标准收入项目收费标准元/件次该项目费用只限于程序及其一种文档的登记,计算机软件著作权如申请登记多种文档,每增加一种文档,增收80元登记费例外交存手续费元/件次软件著作权合同登每次元记费软件著作权登记证50/件书费变更或补充登记费元/件次请求延期处理费第一次元/件次,第二次元/件次软件源程序封存保页为元,超过页的,每增加1页增收2元管费查询费题录库查询,近五年信息:每题50元,超过条,每条加收元,追溯查询,每题75元,超过条,每条加收元;文摘库查询,近五年信息,每题10元,计算机信息库查询超过3页,每页加收元,追溯查询,每题费15元,超过3页,每条加收元;著作权概况查询,近五年信息,每题元,超过3页,每页加收元,追溯查询,每题元,超过3页,每条加收元;对指定登记号的档案进行查阅,每件次收费2元,如需复印纸介质查询费加收复印费3、缴费方式费用可汇入专用帐号,即:单位名称:中国版权保护中心开户银行:中信银行北京阜成门支行帐户名称:中国版权保护中心银行帐户:费用也可通过邮局汇款:地址:北京市东城区安定门东大街28号雍和大厦西楼三层特别提示:由于计算机软件著作权登记收费,现已实行中央财政集中收取,汇入帐号的费用若出现差错不易返还另:软件登记申请人与汇款人名称不符的,须特别注明软件著作权登记常见问题问答 1.什么是计算机软件?答:计算机软件是指计算机程序及其有关文档计算机程序是指能实现一定功能的代码化指令序列,或者符号化语句序列文档指用来描述程序的内容、组成、设计、功能规格、开发情况、测试结果及使用方法的文字资料和图表,如程序设计说明书、流程图、用户手册等 2.软件著作权保护期限是多长?答:自然人的软件著作权,保护期为自然人终生及其死亡后XX年;软件是合作开发的,截止于最后死亡的自然人死亡后第XX年的x月x日法人或者其他组织的软件著作权,保护期为软件首次发表之后XX年,但软件自开发完成之日起XX年内未发表的,不再保护 3.哪些人可以成为软件著作权人?答:独立开发完成软件的自然人、法人或其他组织以及通过合同约定、继承、受让或者承受软件著作权的自然人、法人或者其他组织都可以成为著作权人 4.软件著作权可以保护软件的思想、算法和技术方案吗?答:软件著作权保护的范围是程序及其技术文档的表达,即保护语句序列或指令序列的表达以及有关软件的文字说明表达,而不延及开发软件所用的思想、处理过程、操作方法或者数学概念等 5.什么是软件开发者?答:是指实际组织开发、直接进行开发,并对开发完成的软件承担责任的法人或者其他组织;或者依靠自己具有的条件独立完成软件开发,并对软件承担责任的自然人6.合作开发的软件著作权怎么归属?答:由两个以上的自然人、法人或者其他组织合作开发的软件,其著作权的归属由合作开发者签订书面合同约定 7.委托开发的软件著作权怎么归属?答:接受他人委托开发的软件,其著作权的归属由委托人与受托人签订书面合同约定;无书面合同或者合同未作明确约定的,其著作权由受托人享有 8.由国家机关下达任务的软件著作权怎么归属?答:由国家机关下达任务开发的软件,著作权的归属与行使由项目任务书或者合同规定;项目任务书或者合同中未作明确规定的,软件著作权由接受任务的法人或者其他组织享有9.职务开发软件和非职务开发软件怎样界定?答:自然人利用业余时间及个人的物质技术条件开发完成的,并且与本人的本职工作内容无直接联系的软件为非职务开发软件自然人在单位任职期间针对本职工作中明确指定的开发目标所开发的软件,或者开发的软件是从事本职工作活动所预见的结果或者自然的结果,或者主要使用了法人或者其他组织的资金、专用设备、未公开的专门信息等物质技术条件所开发并由法人或者其他组织承担责任的软件,自然人的开发行为属于职务开发,软件为职务开发软件,该软件著作权由单位享有 10.软件相似是不是就视为侵权?答:软件开发者开发的软件,由于可供选用的表达方式有限而与已经存在的软件相似的,不构成对已经存在的软件的著作权的侵犯 11.进行计算机软件著作权登记有什么作用?答:国家著作权行政管理部门鼓励著作权人进行计算机软件著作权登记,并对已登记的软件给予重点保护软件著作权登记证书是对登记事项的初步证明,可以帮助持有者在诉讼中起到减轻举证责任的作用根据国务院颁发的《鼓励软件产业和集成电路产业发展的若干政策》的有关规定,证书可以作为软件企业申请减免税收的证明12.只有进行软件著作权登记后才有版权吗?答:软件开发完成后著作权自动产生,不论是否登记,都享有著作权 13.申请登记的软件名称是不是不能与已登记的软件名称重名?答:只要是独立开发享有著作权的软件都可以申请登记,软件名称可以相同或相似14.可以以个人名义申请登记吗?答:只有著作权人才可以申请登记;依靠自己具有的条件独立完成软件开发,并对软件承担责任的自然人可以作为申请人申请登记 15.个人申请登记要提交什么身份证明文件?。

[计算机软件产品开发文件编制指南]GB8567-88

[计算机软件产品开发文件编制指南]GB8567-88

引言1 目的一项计算机软件的筹划、研制及实现,构成一个软件开发项目。

一个软件开发项目的进行,一般需要在人力和自动化资源等方面作重大的投资。

为了保证项目开发的成功,最经济地花费这些投资,并且便于运行和维护,在开发工作的每一阶段,都需要编制二定的文件。

这些文件连同计算机程序及数据一起,构成为计算机软件。

文件是计算机软件中不可缺少的组成部分,它的作用是:a.作为开发人员在一定阶段内的工作成果和结束标志;b.向管理人员提供软件开发过程中的进展和情况,把软件开发过程中的一些“不可见的”事物转换成“可见的”文字资料。

以便管理人员在各个阶段检查开发计划的实施进展,使之能够判断原定目标是否已达到,还将继续耗用资源的种类和数量;C.记录开发过程中的技术信息,便于协调以后的软件开发、使用和修改;d.提供对软件的有关运行、维护和培训的信息,便于管理人员、开发人员、操作人员和用户之间相互了解彼此的工作;e.向潜在用户报导软件的功能和性能,使他们能判定该软件能否服务于自己的需要。

换言之,本指南认为:文件的编制必须适应计算机软件整个生存周期的需要。

计算机软件所包含的文件有两类:一类是开发过程中填写的各种图表,可称之为工作表格;另一类则是应编制的技术资料或技术管理资料,可称之为文件。

本指南规定软件文件的编制形式,并提供对这些规定的解释。

本指南的目的是使得所编制的软件文件确实能够起到软件文件应该发挥的作用。

2 范围本指南是一份指导性文件。

本指甫建议,在一项计算机软件的开发过程中,一般地说,应该产生十四种文件。

这十四种文件是:可行性研究报告;项目开发计划;软件需求说明书;数据要求说明书;概要设计说明书;详细设计说明书;数据库设计说明书;用户手册;操作手册;模块开发卷宗;测试计划;测试分析报告;开发进度月报;项目开发总结报告。

本指南将给出开发过程中建议产生的这十四种文件的编制指导,同时,本指南也是这十四种文件的编写质量的检验准则。

计算机软件著作权登记源代码范本

计算机软件着作权登记-源代码范本注意事项:常见的源代码包含:C语言,VB,C++,JAVA,.NET等。

提交的代码必须是源代码的开头载入程序,第30页必须断开,第60页是软件的程序结尾,代码中不得出现与申请表内容不符合的日期,着作权人,软件名字等,不能出现开源代码,不能出现任何版权纠纷。

格式要求:一、源代码应提交前、后各连续30页,不足60页的,应当全部提交。

二、源代码页眉应标注软件的名称和版本号,应当与申请表中名称完全一致,页眉右上应标注页码,源代码每页不少于50行。

范例如下:#include <tybs/>#include <tybs/>#include <tybs/>#include <tybs/>#include <tybs/>#include <tybs/>#include <tybs/>#include <tybs/>#include <tybs/>#include <tybs/>#include <tybs/>#include <tybs/>#include <tybs/>#include <tybscc/>#include <dns/>#include <dns/>#include <dns/>#include <dns/>#include <dst/>#define NS_MAIN 1#include <named/>#endif#ifdef DLZ#include <dlz/>#endifstatic tybs_boolean_t want_stats = TYBS_FALSE;static char program_name[TYBS_DIR_NAMEMAX] = "named";static char absolute_conffile[TYBS_DIR_PATHMAX];static char saved_command_line[512];static char version[512];static unsigned int maxsocks = 0;voidns_main_earlywarning(const char *format, ...) {va_list args;va_start(args, format);if (ns_g_lctx != NULL) {tybs_log_vwrite(ns_g_lctx, NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_MAIN, TYBS_LOG_W ARNING,format, args);} else {fprintf(stderr, "%s: ", program_name);vfprintf(stderr, format, args);fprintf(stderr, "\n");fflush(stderr);}va_end(args);}Void ns_main_earlyfatal(const char *format, ...) {va_list args;va_start(args, format);if (ns_g_lctx != NULL) {tybs_log_vwrite(ns_g_lctx, NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL,format, args);tybs_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL,"exiting (due to early fatal error)");} else {fprintf(stderr, "%s: ", program_name);vfprintf(stderr, format, args);fprintf(stderr, "\n");fflush(stderr);}va_end(args);exit(1);}static voidassertion_failed(const char *file, int line, tybs_assertiontype_t type,const char *cond){if (ns_g_lctx != NULL) {tybs_assertion_setcallback(NULL);tybs_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL,"%s:%d: %s(%s) failed", file, line,tybs_assertion_typetotext(type), cond);tybs_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL,"exiting (due to assertion failure)");} else {fprintf(stderr, "%s:%d: %s(%s) failed\n",file, line, tybs_assertion_typetotext(type), cond);fflush(stderr);}if (ns_g_coreok)abort();exit(1);}static voidlibrary_fatal_error(const char *file, int line, const char *format,va_list args) TYBS_FORMA T_PRINTF(3, 0);static voidlibrary_fatal_error(const char *file, int line, const char *format,va_list args){if (ns_g_lctx != NULL) {tybs_error_setfatal(NULL);tybs_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL,"%s:%d: fatal error:", file, line);tybs_log_vwrite(ns_g_lctx, NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL,format, args);tybs_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL,"exiting (due to fatal error in library)");} else {fprintf(stderr, "%s:%d: fatal error: ", file, line);vfprintf(stderr, format, args);fprintf(stderr, "\n");fflush(stderr);}if (ns_g_coreok)abort();exit(1);}static voidlibrary_unexpected_error(const char *file, int line, const char *format,va_list args) TYBS_FORMAT_PRINTF(3, 0);static voidlibrary_unexpected_error(const char *file, int line, const char *format,va_list args){if (ns_g_lctx != NULL) {tybs_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_MAIN, TYBS_LOG_ERROR,"%s:%d: unexpected error:", file, line);tybs_log_vwrite(ns_g_lctx, NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_MAIN, TYBS_LOG_ERROR,format, args);} else {fprintf(stderr, "%s:%d: fatal error: ", file, line);vfprintf(stderr, format, args);fprintf(stderr, "\n");fflush(stderr);}}static voidlwresd_usage(void) {fprintf(stderr,"usage: lwresd [-4|-6] [-c conffile | -C resolvconffile] ""[-d debuglevel]\n"" [-f|-g] [-n number_of_cpus] [-p port] ""[-P listen-port] [-s]\n"" [-t chrootdir] [-u username] [-i pidfile]\n"" [-m {usage|trace|record|size|mctx}]\n"); }static voidusage(void) {if (ns_g_lwresdonly) {lwresd_usage();return;}fprintf(stderr,"usage: named [-4|-6] [-c conffile] [-d debuglevel] ""[-f|-g] [-n number_of_cpus]\n"" [-p port] [-s] [-t chrootdir] [-u username]\n"" [-m {usage|trace|record|size|mctx}]\n");}static voidsave_command_line(int argc, char *argv[]) {int i;char *src;char *dst;char *eob;const char truncated[] = "...";tybs_boolean_t quoted = TYBS_FALSE;dst = saved_command_line;eob = saved_command_line + sizeof(saved_command_line);for (i = 1; i < argc && dst < eob; i++) {*dst++ = ' ';src = argv[i];while (*src != '\0' && dst < eob) {if (quoted || isalnum(*src & 0xff) ||*src == '-' || *src == '_' ||*src == '.' || *src == '/') {*dst++ = *src++;quoted = TYBS_FALSE;} else {*dst++ = '\\';quoted = TYBS_TRUE;}}}INSIST(sizeof(saved_command_line) >= sizeof(truncated));if (dst == eob)strcpy(eob - sizeof(truncated), truncated);else*dst = '\0';}static intparse_int(char *arg, const char *desc) {char *endp;int tmp;long int ltmp;ltmp = strtol(arg, &endp, 10);tmp = (int) ltmp;if (*endp != '\0')ns_main_earlyfatal("%s '%s' must be numeric", desc, arg);if (tmp < 0 || tmp != ltmp)ns_main_earlyfatal("%s '%s' out of range", desc, arg);return (tmp);}static struct flag_def {const char *name;unsigned int value;} mem_debug_flags[] = {{ "trace", TYBS_MEM_DEBUGTRACE },{ "record", TYBS_MEM_DEBUGRECORD },{ "usage", TYBS_MEM_DEBUGUSAGE },{ "size", TYBS_MEM_DEBUGSIZE },{ "mctx", TYBS_MEM_DEBUGCTX },{ NULL, 0 }};static voidset_flags(const char *arg, struct flag_def *defs, unsigned int *ret) { for (;;) {const struct flag_def *def;const char *end = strchr(arg, ',');int arglen;if (end == NULL)end = arg + strlen(arg);arglen = end - arg;for (def = defs; def->name != NULL; def++) {if (arglen == (int)strlen(def->name) &&memcmp(arg, def->name, arglen) == 0) {*ret |= def->value;goto found;}}ns_main_earlyfatal("unrecognized flag '%.*s'", arglen, arg);found:if (*end == '\0')break;arg = end + 1;}}static voidparse_command_line(int argc, char *argv[]) {int ch;int port;tybs_boolean_t disable6 = TYBS_FALSE;tybs_boolean_t disable4 = TYBS_FALSE;save_command_line(argc, argv);tybs_commandline_errprint = TYBS_FALSE;while ((ch = tybs_commandline_parse(argc, argv,"46c:C:d:fgi:lm:n:N:p:P:""sS:t:T:u:vVx:")) != -1) {switch (ch) {case '4':if (disable4)ns_main_earlyfatal("cannot specify -4 and -6");if (tybs_net_probeipv4() != TYBS_R_SUCCESS)ns_main_earlyfatal("IPv4 not supported by OS");tybs_net_disableipv6();disable6 = TYBS_TRUE;break;case '6':if (disable6)ns_main_earlyfatal("cannot specify -4 and -6");if (tybs_net_probeipv6() != TYBS_R_SUCCESS)ns_main_earlyfatal("IPv6 not supported by OS");tybs_net_disableipv4();disable4 = TYBS_TRUE;break;case 'c':ns_g_conffile = tybs_commandline_argument;lwresd_g_conffile = tybs_commandline_argument;if (lwresd_g_useresolvconf)ns_main_earlyfatal("cannot specify -c and -C");ns_g_conffileset = TYBS_TRUE;break;case 'C':lwresd_g_resolvconffile = tybs_commandline_argument;if (ns_g_conffileset)ns_main_earlyfatal("cannot specify -c and -C");lwresd_g_useresolvconf = TYBS_TRUE;break;case 'd':ns_g_debuglevel = parse_int(tybs_commandline_argument,"debug level");break;case 'f':ns_g_foreground = TYBS_TRUE;break;case 'g':ns_g_foreground = TYBS_TRUE;ns_g_logstderr = TYBS_TRUE;break;/* XXXBEW -i should be removed */case 'i':lwresd_g_defaultpidfile = tybs_commandline_argument;break;case 'l':ns_g_lwresdonly = TYBS_TRUE;break;case 'm':set_flags(tybs_commandline_argument, mem_debug_flags, &tybs_mem_debugging);break;case 'N': /* Deprecated. */case 'n':ns_g_cpus = parse_int(tybs_commandline_argument,"number of cpus");if (ns_g_cpus == 0)ns_g_cpus = 1;break;case 'p':port = parse_int(tybs_commandline_argument, "port");if (port < 1 || port > 65535)ns_main_earlyfatal("port '%s' out of range",tybs_commandline_argument);ns_g_port = port;break;/* XXXBEW Should -P be removed */case 'P':port = parse_int(tybs_commandline_argument, "port");if (port < 1 || port > 65535)ns_main_earlyfatal("port '%s' out of range",tybs_commandline_argument);lwresd_g_listenport = port;break;case 's':want_stats = TYBS_TRUE;break;case 'S':maxsocks = parse_int(tybs_commandline_argument,"max number of sockets");break;case 't':ns_g_chrootdir = tybs_commandline_argument;break;case 'T':if (strcmp(tybs_commandline_argument, "clienttest") == 0) ns_g_clienttest = TYBS_TRUE;elsefprintf(stderr, "unknown -T flag '%s\n",tybs_commandline_argument);break;case 'u':ns_g_username = tybs_commandline_argument;break;case 'v':printf("BIND %s\n", ns_g_version);exit(0);case 'V':printf("BIND %s built with %s\n", ns_g_version,ns_g_configargs);exit(0);case '':usage();if (tybs_commandline_option == '')exit(0);ns_main_earlyfatal("unknown option '-%c'",tybs_commandline_option);default:ns_main_earlyfatal("parsing options returned %d", ch);}}argc -= tybs_commandline_index;argv += tybs_commandline_index;if (argc > 0) {usage();ns_main_earlyfatal("extra command line arguments");}}static tybs_result_tcreate_managers(void) {tybs_result_t result;unsigned int socks;#ifdef TYBS_PLATFORM_USETHREADSunsigned int cpus_detected;#endif#ifdef TYBS_PLATFORM_USETHREADScpus_detected = tybs_os_ncpus();if (ns_g_cpus == 0)ns_g_cpus = cpus_detected;tybs_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_SERVER, TYBS_LOG_INFO, "found %u CPU%s, using %u worker thread%s",cpus_detected, cpus_detected == 1 "" : "s",ns_g_cpus, ns_g_cpus == 1 "" : "s");#elsens_g_cpus = 1;#endifresult = tybs_taskmgr_create(ns_g_mctx, ns_g_cpus, 0, &ns_g_taskmgr);if (result != TYBS_R_SUCCESS) {UNEXPECTED_ERROR(__FILE__, __LINE__,"tybs_taskmgr_create() failed: %s",tybs_result_totext(result));return (TYBS_R_UNEXPECTED);}result = tybs_timermgr_create(ns_g_mctx, &ns_g_timermgr);if (result != TYBS_R_SUCCESS) {UNEXPECTED_ERROR(__FILE__, __LINE__,"tybs_timermgr_create() failed: %s",tybs_result_totext(result));return (TYBS_R_UNEXPECTED);}result = tybs_socketmgr_create2(ns_g_mctx, &ns_g_socketmgr, maxsocks);if (result != TYBS_R_SUCCESS) {UNEXPECTED_ERROR(__FILE__, __LINE__,"tybs_socketmgr_create() failed: %s",tybs_result_totext(result));return (TYBS_R_UNEXPECTED);}result = tybs_socketmgr_getmaxsockets(ns_g_socketmgr, &socks);if (result == TYBS_R_SUCCESS) {tybs_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_SERVER,TYBS_LOG_INFO, "using up to %u sockets", socks);}result = tybs_entropy_create(ns_g_mctx, &ns_g_entropy);if (result != TYBS_R_SUCCESS) {UNEXPECTED_ERROR(__FILE__, __LINE__,"tybs_entropy_create() failed: %s",tybs_result_totext(result));return (TYBS_R_UNEXPECTED);}result = tybs_hash_create(ns_g_mctx, ns_g_entropy, DNS_NAME_MAXWIRE);if (result != TYBS_R_SUCCESS) {UNEXPECTED_ERROR(__FILE__, __LINE__,"tybs_hash_create() failed: %s",tybs_result_totext(result));return (TYBS_R_UNEXPECTED);}return (TYBS_R_SUCCESS);}static voiddestroy_managers(void) {ns_lwresd_shutdown();tybs_entropy_detach(&ns_g_entropy);if (ns_g_fallbackentropy != NULL)tybs_entropy_detach(&ns_g_fallbackentropy);tybs_taskmgr_destroy(&ns_g_taskmgr);tybs_timermgr_destroy(&ns_g_timermgr);tybs_socketmgr_destroy(&ns_g_socketmgr);tybs_hash_destroy();}static voidsetup(void) {tybs_result_t result;#ifdef HA VE_LIBSCFchar *instance = NULL;#endifns_os_inituserinfo(ns_g_username);ns_os_tzset();ns_os_opendevnull();#ifdef HA VE_LIBSCFresult = ns_smf_get_instance(&instance, 0, ns_g_mctx);if (result == TYBS_R_SUCCESS)ns_smf_got_instance = 1;elsens_smf_got_instance = 0;if (instance != NULL)tybs_mem_free(ns_g_mctx, instance);#endif /* HA VE_LIBSCF */#ifdef PA TH_RANDOMDEVif (ns_g_chrootdir != NULL) {result = tybs_entropy_create(ns_g_mctx, &ns_g_fallbackentropy);if (result != TYBS_R_SUCCESS)ns_main_earlyfatal("tybs_entropy_create() failed: %s",tybs_result_totext(result));result = tybs_entropy_createfilesource(ns_g_fallbackentropy,PA TH_RANDOMDEV);if (result != TYBS_R_SUCCESS) {ns_main_earlywarning("could not open pre-chroot ""entropy source %s: %s",PA TH_RANDOMDEV,tybs_result_totext(result));tybs_entropy_detach(&ns_g_fallbackentropy);}}#endifns_os_chroot(ns_g_chrootdir);ns_os_minprivs();result = ns_log_init(TYBS_TF(ns_g_username != NULL));if (result != TYBS_R_SUCCESS)ns_main_earlyfatal("ns_log_init() failed: %s",tybs_result_totext(result));if (!ns_g_foreground)ns_os_daemonize();result = tybs_app_start();if (result != TYBS_R_SUCCESS)ns_main_earlyfatal("tybs_app_start() failed: %s",tybs_result_totext(result));tybs_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, TYBS_LOG_NOTICE, "starting BIND %s%s", ns_g_version,saved_command_line);tybs_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, TYBS_LOG_NOTICE, "built with %s", ns_g_configargs);(void)tybs_resource_getlimit(tybs_resource_stacksize,&ns_g_initstacksize);(void)tybs_resource_getlimit(tybs_resource_datasize,&ns_g_initdatasize);(void)tybs_resource_getlimit(tybs_resource_coresize,&ns_g_initcoresize);(void)tybs_resource_getlimit(tybs_resource_openfiles,&ns_g_initopenfiles);if (! tybs_file_isabsolute(ns_g_conffile)) {result = tybs_file_absolutepath(ns_g_conffile,absolute_conffile,sizeof(absolute_conffile));if (result != TYBS_R_SUCCESS)ns_main_earlyfatal("could not construct absolute path of ""configuration file: %s",tybs_result_totext(result));ns_g_conffile = absolute_conffile;}result = tybs_time_now(&ns_g_boottime);if (result != TYBS_R_SUCCESS)ns_main_earlyfatal("tybs_time_now() failed: %s",tybs_result_totext(result));result = create_managers();if (result != TYBS_R_SUCCESS)ns_main_earlyfatal("create_managers() failed: %s",tybs_result_totext(result));ns_builtin_init();#ifdef DLZresult = dlz_drivers_init();if (result != TYBS_R_SUCCESS)ns_main_earlyfatal("dlz_drivers_init() failed: %s",tybs_result_totext(result));#endifns_server_create(ns_g_mctx, &ns_g_server);}static voidcleanup(void) {destroy_managers();ns_server_destroy(&ns_g_server);ns_builtin_deinit();#ifdef DLZdlz_drivers_clear();#endifdns_name_destroy();tybs_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, TYBS_LOG_NOTICE, "exiting");ns_log_shutdown();}static char *memstats = NULL;voidns_main_setmemstats(const char *filename) {if (memstats != NULL) {free(memstats);memstats = NULL;}if (filename == NULL)return;memstats = malloc(strlen(filename) + 1);if (memstats)strcpy(memstats, filename);}#ifdef HA VE_LIBSCFtybs_result_tns_smf_get_instance(char **ins_name, int debug, tybs_mem_t *mctx) {scf_handle_t *h = NULL;int namelen;char *instance;REQUIRE(ins_name != NULL && *ins_name == NULL);if ((h = scf_handle_create(SCF_VERSION)) == NULL) {if (debug)UNEXPECTED_ERROR(__FILE__, __LINE__,"scf_handle_create() failed: %s",scf_strerror(scf_error()));return (TYBS_R_FAILURE);}if (scf_handle_bind(h) == -1) {if (debug)UNEXPECTED_ERROR(__FILE__, __LINE__,"scf_handle_bind() failed: %s",scf_strerror(scf_error()));scf_handle_destroy(h);return (TYBS_R_FAILURE);}if ((namelen = scf_myname(h, NULL, 0)) == -1) {if (debug)UNEXPECTED_ERROR(__FILE__, __LINE__,"scf_myname() failed: %s",scf_strerror(scf_error()));scf_handle_destroy(h);return (TYBS_R_FAILURE);}if ((instance = tybs_mem_allocate(mctx, namelen + 1)) == NULL) { UNEXPECTED_ERROR(__FILE__, __LINE__,"ns_smf_get_instance memory ""allocation failed: %s",tybs_result_totext(TYBS_R_NOMEMORY));scf_handle_destroy(h);return (TYBS_R_FAILURE);}if (scf_myname(h, instance, namelen + 1) == -1) {if (debug)UNEXPECTED_ERROR(__FILE__, __LINE__,"scf_myname() failed: %s",scf_strerror(scf_error()));scf_handle_destroy(h);tybs_mem_free(mctx, instance);return (TYBS_R_FAILURE);}scf_handle_destroy(h);*ins_name = instance;return (TYBS_R_SUCCESS);}#endifintmain(int argc, char *argv[]) {tybs_result_t result;#ifdef HA VE_LIBSCFchar *instance = NULL;#endifstrlcat(version,#ifdef __DATE__"named version: BIND " VERSION " (" __DA TE__ ")",#else"named version: BIND " VERSION,#endifsizeof(version));result = tybs_file_progname(*argv, program_name, sizeof(program_name));if (result != TYBS_R_SUCCESS)ns_main_earlyfatal("program name too long");if (strcmp(program_name, "lwresd") == 0)ns_g_lwresdonly = TYBS_TRUE;tybs_assertion_setcallback(assertion_failed);tybs_error_setfatal(library_fatal_error);tybs_error_setunexpected(library_unexpected_error);ns_os_init(program_name);dns_result_register();dst_result_register();tybscc_result_register();parse_command_line(argc, argv);if (ns_g_chrootdir != NULL) {int len = strlen(ns_g_chrootdir);if (strncmp(ns_g_chrootdir, ns_g_conffile, len) == 0 &&(ns_g_conffile[len] == '/' || ns_g_conffile[len] == '\\'))ns_main_earlywarning("config filename (-c %s) contains ""chroot path (-t %s)",ns_g_conffile, ns_g_chrootdir);}result = tybs_mem_create(0, 0, &ns_g_mctx);if (result != TYBS_R_SUCCESS)ns_main_earlyfatal("tybs_mem_create() failed: %s",tybs_result_totext(result));tybs_mem_setname(ns_g_mctx, "main", NULL);setup();do {result = tybs_app_run();if (result == TYBS_R_RELOAD) {ns_server_reloadwanted(ns_g_server);} else if (result != TYBS_R_SUCCESS) {UNEXPECTED_ERROR(__FILE__, __LINE__,"tybs_app_run(): %s",tybs_result_totext(result));result = TYBS_R_SUCCESS;}} while (result != TYBS_R_SUCCESS);#ifdef HA VE_LIBSCFif (ns_smf_want_disable == 1) {result = ns_smf_get_instance(&instance, 1, ns_g_mctx);if (result == TYBS_R_SUCCESS && instance != NULL) {if (smf_disable_instance(instance, 0) != 0)UNEXPECTED_ERROR(__FILE__, __LINE__,"smf_disable_instance() ""failed for %s : %s",instance,scf_strerror(scf_error()));}if (instance != NULL)tybs_mem_free(ns_g_mctx, instance);}#endif /* HA VE_LIBSCF */cleanup();if (want_stats) {tybs_mem_stats(ns_g_mctx, stdout);tybs_mutex_stats(stdout);}if (ns_g_memstatistics && memstats != NULL) {FILE *fp = NULL;result = tybs_stdio_open(memstats, "w", &fp);if (result == TYBS_R_SUCCESS) {tybs_mem_stats(ns_g_mctx, fp);tybs_mutex_stats(fp);tybs_stdio_close(fp);}}tybs_mem_destroy(&ns_g_mctx);tybs_mem_checkdestroyed(stderr);ns_main_setmemstats(NULL);tybs_app_finish();ns_os_closedevnull();ns_os_shutdown();return (0);}#define ZEND_INCLUDE_FULL_WINDOWS_HEADERS #include ""#include <>#include <>#ifdef PHP_WIN32#include "win32/"#include "win32/"#include "win32/"#include <>#elif defined(NETW ARE)#include <sys/>#ifdef USE_WINSOCK#include <>#endif#endif#if HA VE_SYS_TIME_H#include <sys/>#endif#if HA VE_UNISTD_H#include <>#endif#if HA VE_SIGNAL_H#include <>#endif#if HA VE_SETLOCALE#include <>#endif#include ""#include ""#include ""#include ""#include ""#include ""#include "ext/standard/"#include ""#include "ext/standard/"#ifdef PHP_WIN32#include <>#include "win32/"#include "ext/standard/"#endif#include ""#include "Zend/"#if PHP_SIGCHILD#include <sys/>#include <sys/>#endif#include ""#include ""#include ""#include ""#include ""#include ""#include ""#include ""#include ""#include ""#include ""#include ""#include ""/* }}} */#ifndef ZTSphp_core_globals core_globals;#elsePHPAPI int core_globals_id;#endif#define SAFE_FILENAME(f) ((f)(f):"-")/* {{{ PHP_INI_MH*/static PHP_INI_MH(OnSetPrecision){int i = atoi(new_value);if (i >= 0) {EG(precision) = i;return SUCCESS;} else {return FAILURE;}}static PHP_INI_MH(OnChangeMemoryLimit){if (new_value) {PG(memory_limit) = zend_atoi(new_value, new_value_length);} else {PG(memory_limit) = 1<<30; /* effectively, no limit */ }return zend_set_memory_limit(PG(memory_limit));}static void php_disable_functions(TSRMLS_D){char *s = NULL, *e;if (!*(INI_STR("disable_functions"))) {return;}e = PG(disable_functions) = strdup(INI_STR("disable_functions"));while (*e) {switch (*e) {case ' ':case ',':if (s) {*e = '\0';zend_disable_function(s, e-s TSRMLS_CC);s = NULL;}break;default:if (!s) {s = e;}break;}e++;}if (s) {zend_disable_function(s, e-s TSRMLS_CC);}}static void php_disable_classes(TSRMLS_D){char *s = NULL, *e;if (!*(INI_STR("disable_classes"))) {return;}e = PG(disable_classes) = strdup(INI_STR("disable_classes"));while (*e) {switch (*e) {case ' ':case ',':if (s) {*e = '\0';zend_disable_class(s, e-s TSRMLS_CC);s = NULL;}break;default:if (!s) {s = e;}break;}e++;}if (s) {zend_disable_class(s, e-s TSRMLS_CC);}}static PHP_INI_MH(OnUpdateTimeout){EG(timeout_seconds) = atoi(new_value);if (stage==PHP_INI_STAGE_STARTUP) {/* Don't set a timeout on startup, only per-request */return SUCCESS;}zend_unset_timeout(TSRMLS_C);zend_set_timeout(EG(timeout_seconds));return SUCCESS;}static int php_get_display_errors_mode(char *value, int value_length){int mode;if (!value) {return PHP_DISPLAY_ERRORS_STDOUT;}if (value_length == 2 && !strcasecmp("on", value)) {mode = PHP_DISPLAY_ERRORS_STDOUT;} else if (value_length == 3 && !strcasecmp("yes", value)) {mode = PHP_DISPLAY_ERRORS_STDOUT;} else if (value_length == 4 && !strcasecmp("true", value)) {mode = PHP_DISPLAY_ERRORS_STDOUT;} else if (value_length == 6 && !strcasecmp(value, "stderr")) {mode = PHP_DISPLAY_ERRORS_STDERR;} else if (value_length == 6 && !strcasecmp(value, "stdout")) {mode = PHP_DISPLAY_ERRORS_STDOUT;} else {mode = atoi(value);if (mode && mode != PHP_DISPLAY_ERRORS_STDOUT && mode != PHP_DISPLAY_ERRORS_STDERR) {mode = PHP_DISPLAY_ERRORS_STDOUT;}}return mode;}static PHP_INI_MH(OnUpdateDisplayErrors){PG(display_errors) = (zend_bool) php_get_display_errors_mode(new_value, new_value_length);return SUCCESS;}static PHP_INI_DISP(display_errors_mode){int mode, tmp_value_length, cgi_or_cli;char *tmp_value;TSRMLS_FETCH();if (type == ZEND_INI_DISPLAY_ORIG && ini_entry->modified) {tmp_value = (ini_entry->orig_value ini_entry->orig_value : NULL );tmp_value_length = ini_entry->orig_value_length;} else if (ini_entry->value) {tmp_value = ini_entry->value;tmp_value_length = ini_entry->value_length;} else {tmp_value = NULL;tmp_value_length = 0;}mode = php_get_display_errors_mode(tmp_value, tmp_value_length);cgi_or_cli = (!strcmp, "cli") || !strcmp, "cgi"));switch (mode) {case PHP_DISPLAY_ERRORS_STDERR:if (cgi_or_cli ) {PUTS("STDERR");} else {PUTS("On");}break;case PHP_DISPLAY_ERRORS_STDOUT:if (cgi_or_cli ) {PUTS("STDOUT");} else {PUTS("On");}break;default:PUTS("Off");break;}}static PHP_INI_MH(OnUpdateErrorLog){/* Only do the safemode/open_basedir check at runtime */if ((stage == PHP_INI_STAGE_RUNTIME || stage == PHP_INI_STAGE_HTACCESS) && strcmp(new_value, "syslog")) {if (PG(safe_mode) && (!php_checkuid(new_value, NULL, CHECKUID_CHECK_FILE_AND_DIR))) {return FAILURE;}if (PG(open_basedir) && php_check_open_basedir(new_value TSRMLS_CC)) {return FAILURE;}}OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC);return SUCCESS;}static PHP_INI_MH(OnChangeMailForceExtra){/* Don't allow changing it in htaccess */if (stage == PHP_INI_STAGE_HTACCESS) {return FAILURE;}return SUCCESS;}#ifndef PHP_SAFE_MODE_EXEC_DIR# define PHP_SAFE_MODE_EXEC_DIR ""#endif#if defined(PHP_PROG_SENDMAIL) && !defined(NETWARE)# define DEFAULT_SENDMAIL_PA TH PHP_PROG_SENDMAIL " -t -i "#elif defined(PHP_WIN32)# define DEFAULT_SENDMAIL_PA TH NULL#else# define DEFAULT_SENDMAIL_PA TH "/usr/sbin/sendmail -t -i"#endifPHPAPI void php_log_err(char *log_message TSRMLS_DC){int fd = -1;char error_time_str[128];。

软件分类编码指南

计算机软件著作权登记中使用的软件分类编码指南
一、计算机软件著作权登记中使用的软件分类编码的结构采用组合代码结构,由 9 位数字组成并按照从左至右的顺序排列,前 5 位数字代表计算机软件分的代码;后 4 位数字代表计算机软件适用的国民经济行业的代码。

1 、计算机软件分类代码参照国家标准《计算机软件分类与代码》(报批稿)有关规定确定。

2 、计算机软件适用的国经济行业代码根据国家标准 GB4754-84 《国民经济行业分类和代码》有关规定确定。

计算机软件适用的国民经济行业代码的填写可按照本指南的表二执行。

若因计算机软件的适用范围广,无法对应某一行业时,该代码可用“ 0 ”填写。

二、登记软件分类编码的表示形式。

登记软件分类代码与计算机软件适用的国民经济行业代码之间用连体符“—”连接,表示形式如下:
计算机软件分类代码表
计算机软件适用的国民经济行业代码表。

软件编码规范.doc

软件编码规范文件状态:[√] 草稿[ ] 正式发布[ ] 正在修改文件编号:RDC-DED-SCS-SPC-00 当前版本:作者:审核人:完成日期:中国人民银行清算总中心支付系统开发中心版本编号变化状态简要说明日期变更人批准日期批准人注:变化状态:A—增加,M—修改,D—删除目录第一篇C/C++编码规范 (6)第一章代码组织 (6)第二章命名 (9)2.1文件命名 (9)2.2变量命名 (9)2.3常量与宏命名 (10)2.4类命名 (10)2.5函数命名 (10)2.6参数命名 (11)第三章注释 (12)3.1文档化注释 (12)3.2语句块注释 (17)3.3代码维护注释 (20)第四章编码风格 (22)4.1排版风格 (22)4.2头文件 (26)4.3宏定义 (27)4.4变量与常量 (30)4.5条件判断 (32)4.6空间申请与释放 (33)4.7函数编写 (33)4.8类的编写 (37)4.9异常处理 (40)4.10特殊限制 (40)第五章编译 (41)第六章ESQL/C编码 (46)第二篇JAVA编码规范 (47)第一章代码组织 (48)第二章命名 (51)2.1包命名 (51)2.2类命名 (51)2.3接口命名 (51)2.4方法命名 (51)2.5变量命名 (51)2.6类变量命名 (52)2.7常量命名 (52)2.8参数命名 (52)第三章注释 (53)3.1文档化注释 (53)3.2语句块注释 (57)3.3代码维护注释 (59)第四章编码风格 (61)4.1排版风格 (61)4.2包与类引用 (66)4.3变量与常量 (66)4.4类编写 (67)4.5方法编写 (68)4.6异常处理 (71)4.7特殊限制 (71)第五章编译 (73)第六章JSP编码 (74)6.1文件命名及存放位置 (74)6.2内容组织 (74)6.3编码风格 (76)6.4注释 (78)6.5缩进与对齐 (78)6.6表达式 (79)6.7JavaScript (79)第三篇POWERBUILDER编码规范 (80)第一章代码组织 (81)第二章命名 (82)2.1文件命名 (82)2.2对象命名 (82)2.3变量命名 (84)2.4常量命名 (85)2.5函数与事件命名 (85)2.6参数命名 (85)第三章注释 (85)3.1文档化注释 (85)3.2语句块注释 (88)3.3代码维护注释 (88)第四章编码风格 (89)4.1界面风格 (89)4.2排版风格 (93)4.3变量与常量 (95)4.4条件判断 (96)4.5空间申请与释放 (97)4.6函数编写 (97)4.7特殊限制 (97)第五章SQL编码 (98)前言程序编码是一种艺术,既灵活又严谨,充满了创造性与奇思妙想。

软件分类编码指南

软件分类编码指南
计算机软件著作权登记中使用的软件分类编码指南
一、计算机软件著作权登记中使用的软件分类编码的结构采用组合代码结构,由
9 位数字组成并按照从左至右的顺序排列,前 5 位数字代表计算机软件分的代码;后 4 位数字代表计算机软件适用的国民经济行业的代码。

1 、计算机软件分类代码参照国家标准《计算机软件分类与代码》(报批稿)有关规定确定。

2 、计算机软件适用的国经济行业代码根据国家标准 GB4754-84 《国民经济行业分类和代码》有关规定确定。

计算机软件适用的国民经济行业代码的填写可按照本指南的表二执行。

若因计算机软件的适用范围广,无法对应某一行业时,该代码可用“ 0 ”填写。

二、登记软件分类编码的表示形式。

登记软件分类代码与计算机软件适用的国民经济行业代码之间用连体符“—”连接,表示形式如下:
计算机软件分类代码表
代码计算机软件
类别说明代码计算机软件类



10000 系统软件60000 应用软件
11000 操作系统包括实时、分时、分布式、智能
等操作系统61000 科学和工程计
算软件
61500 文字处理软

12000 系统实用程

62000 数据处理软件
计算机软件适用的国民经济行业代码表。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档