Xmodem协议详解以及源代码剖析

研究 Xmodem 协议必看的 11个问题

Xmodem 协议作为串口数据传输主要的方式之一,恐怕只有做过 bootloader 的才有机会接触一下, 网上有关该协议的内容要么是英语要么讲解不详细。笔者以前写 bootloader 时研究过 1k-Xmodem ,参考了不少相关资料。这里和大家交流一下我对 Xmodem 的理解,多多指教!

1. Xmodem 协议是什么?

XMODEM协议是一种串口通信中广泛用到的异步文件传输协议。分为标准Xmodem 和 1k-Xmodem 两种,前者以 128字节块的形式传输数据,后者字节块为 1k 即 1024字节,并且每个块都使用一个校验和过程来进行错误检测。在校验过程中如果接收方关于一个块的校验和与它在发送方的校验和相同时,接收方就向发送方发送一个确认字节 (ACK。由于 Xmodem 需要对每个块都进行认可, 这将导致性能有所下降, 特别是延时比较长的场合, 这种协议显得效率更低。

除了 Xmodem ,还有 Ymodem , Zmodem 协议。他们的协议内容和 Xmodem 类似,不同的是 Ymodem 允许批处理文件传输,效率更高; Zmodem 则是改进的了Xmodem ,它只需要对损坏的块进行重发,其它正确的块不需要发送确认字节。减少了通信量。

2. Xmodem 协议相关控制字符

SOH 0x01

STX 0x02

EOT 0x04

ACK 0x06

NAK 0x15

CAN 0x18

CTRLZ 0x1A

3.标准 Xmodem 协议(每个数据包含有 128字节数据帧格式

_______________________________________________________________

| SOH | 信息包序号 | 信息包序号的补码 | 数据区段 | 校验和 |

|_____|____________|___________________|__________|____________|

4. 1k-Xmodem (每个数据包含有 1024字节数据帧格式

_______________________________________________________________

| STX | 信息包序号 | 信息包序号的补码 | 数据区段 | 校验和 |

|_____|____________|___________________|__________|____________|

5.数据包说明

对于标准 Xmodem 协议来说,如果传送的文件不是 128的整数倍,那么最后一个数据包的有效内容肯定小于帧长,不足的部分需要用 CTRL- Z(0x1A来填充。这里可能有人会问,如果我传送的是 bootloader 工程生成的 .bin 文件, mcu 收到后遇到0x1A 字符会怎么处理?其实如果传送的是文本文件,那么接收方对于接收的内容是很容易识别的,因为 CTRL-Z 不是前 128个 ascii 码, 不是通用可见字符, 如果是二进制文件, mcu 其实也不会把它当作代码来执行。哪怕是 excel 文件等,由于其内部会有些结构表示各个字段长度等,所以不会读取多余的填充字符。否则 Xmodem太弱了。对于 1k-Xmodem ,同上理。

6.如何启动传输?

传输由接收方启动,方法是向发送方发送 "C" 或者 NAK(注意哦,这里提到的NAK 是用来启动传输的。以下我们会看到 NAK 还可以用来对数据产生重传的机制。接收方发送 NAK 信号表示接收方打算用累加和校验;发送字符 "C" 则表示接收方想打算使用 CRC 校验(具体校验规则下文 Xmodem 源码,源码胜于雄辩。

7.传输过程

当接收方发送的第一个 "C" 或者 NAK 到达发送方,发送方认为可以发送第一个数据包,传输已经启动。发送方接着应该将数据以每次 128字节的数据加上包头,包号,包号补码, 末尾加上校验和,打包成帧格式传送。发送方发了第一包后就等待接收方的确认字节 ACK , 收到接收方传来的 ACK 确认,就认为数据包被接收方正确接收,并且接收方要求发送方继续发送下一个包; 如果发送方收到接收方传来的

NAK(这里, NAK 用来告诉发送方重传,不是用来启动传输字节,则表示接收方请求重发刚才的数据包;如果发送方收到接收方传来的 CAN 字节,则表示接收方请求无条件停止传输。

8.如何结束传输?

如果发送方正常传输完全部数据, 需要结束传输, 正常结束需要发送方发送EOT 字节通知接收方。接收方回以 ACK 进行确认。当然接收方也可强制停止传输,当接收方发送 CAN 字节给发送方,表示接收方想无条件停止传输,发送方收到CAN 后,不需要再发送 EOT确认 (因为接收方已经不想理它了,呵呵。

9.特殊处理

虽然数据包是以 SOH 来标志一个信息包的起始的,但在 SOH 位置上如果出现EOT 则表示数据传输结束,再也没有数据传过来。

接收方首先应确认数据包序号的完整性, 通过对数据包序号取补, 然后和数据包序号的补码异或,结果为 0表示正确,结果不为 0则发送 NAK 请求重传。接收方确认数据包序号正确后, 然后检查是否期望的序号。如果不是期望得到的数据包序号,说明发生严重错误,应该发送一个 CAN 来中止传输。如果接收到的数据包的包序

号和前一包相同,那么接收方会忽略这个重复包,向发送方发出 ACK ,准备接收下一个包。

接收方确认了信息包序号的完整性和是正确期望的后, 只对 128 字节的数据区段进行算术和校验,结果与帧中最后一个字节(算术校验和比较,相同发送 ACK,不同发送 NAK。 10.校验和的说明

Xmodem协议支持 2种校验和,它们是累加和与 CRC 校验。

当接收方一开始启动传输时发送的是 NAK , 表示它希望以累加和方式校验。当接收方一开始启动传输时发送的是字符“ C ” ,表示它希望以 CRC 方式校验。

可能有人会问,接收方想怎么校验发送方都得配合吗,难道发送方必须都支持累加和校验和 CRC 校验?事实上 Xmodem 要求支持 CRC 的就必须同时支持累加和,如果发送方只支持累加和, 而接收方用字符“ C ” 来启动, 那么发送方只要不管它, 当接收方继续发送“ C ” , 三次后都没收到应答,就自动会改为发送 NAK,因为它已经明白发送方可能不支持 CRC 校验,现在接收方改为累加和校验和发送方通讯。发送方收到 NAK 就赶紧发送数据包响应。 11. Xmodem 协议代码

看了以上说明,再参考代码,应该很容易会理解代码编写者的思路。

XModem 源码

#include "crc16.h"

#define SOH 0x01

#define STX 0x02

#define EOT 0x04

#define ACK 0x06

#define NAK 0x15

#define CAN 0x18

#define CTRLZ 0x1A

#define DLY_1S 1000

#define MAXRETRANS 25

static int last_error = 0;

#include "string.h"

void port_outbyte(unsigned char trychar

{

unsigned char buf[2];

buf[0] = trychar;

lowLevel_write(buf,1;

}

unsigned char port_inbyte(unsigned int time_out { unsigned char ch; int i;

last_error = 0;

if(lowLevel_read(&ch,1 == 1 return ch;

last_error = 1;

return ch;

}

static int check(int crc, const unsigned char *buf, int sz {

if (crc

{

unsigned short crc = crc16_ccitt(buf, sz; unsigned short tcrc = (buf[sz]<<8+buf[sz+1]; if (crc == tcrc return 1;

}

else

{

int i;

unsigned char cks = 0;

for (i = 0; i < sz; ++i

{

cks += buf[i];

}

if (cks == buf[sz] return 1;

}

return 0;

}

static void flushinput(void

{

//while (port_inbyte(((DLY_1S*3>>1 >= 0 ; }

int xmodemReceive(unsigned char *dest, int destsz { unsigned char xbuff[1030];

unsigned char *p;

int bufsz, crc = 0;

unsigned char trychar = 'C';

unsigned char packetno = 1;

int i, c, len = 0;

int retry, retrans = MAXRETRANS;

for(;;

{

for( retry = 0; retry < 16; ++retry

{

if (trychar

port_outbyte(trychar;

c = port_inbyte((DLY_1S<<1;

if (last_error == 0

{

switch (c

{

case SOH:

bufsz = 128;

goto start_recv;

case STX:

bufsz = 1024;

goto start_recv;

case EOT:

flushinput(;

port_outbyte(ACK; return len;

case CAN:

c = port_inbyte(DLY_1S; if (c == CAN {

flushinput(;

port_outbyte(ACK; return -1;

}

break;

default:

break;

}

}

}

if (trychar == 'C' {

trychar = NAK; continue;

}

flushinput(;

port_outbyte(CAN; port_outbyte(CAN; port_outbyte(CAN; return -2;

start_recv:

if (trychar == 'C' crc = 1;

trychar = 0;

p = xbuff;

*p++ = c;

for (i = 0; i < (bufsz+(crc?1:0+3; ++i

{

c = port_inbyte(DLY_1S;

if (last_error != 0

goto reject;

*p++ = c;

}

if (xbuff[1] == (unsigned char(~xbuff[2] &&

(xbuff[1] == packetno || xbuff[1] == (unsigned charpacketno-1 && check(crc, &xbuff[3], bufsz

{

if (xbuff[1] == packetno

{

int count = destsz - len;

if (count > bufsz

count = bufsz;

if (count > 0

{

memcpy (&dest[len], &xbuff[3], count;

len += count;

}

++packetno;

retrans = MAXRETRANS+1;

}

if (--retrans <= 0

{

flushinput(;

port_outbyte(CAN;

port_outbyte(CAN;

port_outbyte(CAN; return -3; } port_outbyte(ACK; continue; } reject: flushinput(; port_outbyte(NAK; } } int xmodemTransmit(unsigned char *src, int srcsz { unsigned char xbuff[1030]; int bufsz, crc = -1; unsigned char packetno = 1; int i, c, len = 0; int retry; for(;; { for( retry = 0; retry < 16; ++retry { c = port_inbyte((DLY_1S<<1; if (last_error == 0 { switch (c { case 'C': crc = 1; goto start_trans; case NAK: crc = 0; goto start_trans; case CAN: c = port_inbyte(DLY_1S; if (c == CAN { port_outbyte(ACK; flushinput(; return -1; } break;

default: break; } } } port_outbyte(CAN; port_outbyte(CAN; port_outbyte(CAN; flushinput(; return -2; for(;; { start_trans: xbuff[0] = SOH; bufsz = 128; xbuff[1] = packetno; xbuff[2] = ~packetno; c = srcsz - len; if (c > bufsz c = bufsz; if (c >= 0

{ memset (&xbuff[3], 0, bufsz; if (c == 0 { xbuff[3] = CTRLZ; } else { memcpy

(&xbuff[3], &src[len], c; if (c < bufsz xbuff[3+c] = CTRLZ; } if (crc { unsigned short ccrc = crc16_ccitt(&xbuff[3], bufsz; xbuff[bufsz+3] = (ccrc>>8 & 0xFF; xbuff[bufsz+4] = ccrc & 0xFF; } else { unsigned char ccks = 0; for (i = 3; i < bufsz+3; ++i {

ccks += xbuff[i]; } xbuff[bufsz+3] = ccks; } for (retry = 0; retry < MAXRETRANS; ++retry { for (i = 0; i < bufsz+4+(crc?1:0; ++i { port_outbyte(xbuff[i]; } c =

port_inbyte(DLY_1S; if (last_error == 0 { switch (c { case ACK: ++packetno; len += bufsz; goto start_trans; case CAN: c = port_inbyte(DLY_1S; if ( c == CAN

{ port_outbyte(ACK; flushinput(; return -1; } break; case NAK: default: break; } } }

port_outbyte(CAN; port_outbyte(CAN; port_outbyte(CAN; flushinput(; return -4; } else { for (retry = 0; retry < 10; ++retry {

port_outbyte(EOT; c = port_inbyte((DLY_1S<<1; if (c == ACK break; } flushinput(; return (c == ACK?len:-5; } } } }

保密协议模板

保密协议 本保密协议(以下简称“本协议”)于【】由以下双方签订: 【】(以下简称“甲方”),是一家根据中华人民共和国法律依法设立,并合法存续的公司,公司地址为:【】 与 【】(以下简称“乙方”),是一家根据中华人民共和国法律依法设立,并合法存续的公司,公司地址为:【】。 鉴于,甲乙双方希望就股权投资之交易或合作事宜(以下简称“交易”)进行讨论和磋商,在此过程中,双方将互相披露本协议中所涉及的保密信息,双方对这些信息应当予以严格保密。 为此,甲乙双方在自愿接受本协议规定的义务约束前提下,达成如下协议: 第一条、保密信息的定义 1.1 本协议中所称“保密信息”指,协议任一方所拥有的、不为公众所知的 所有信息或数据,无论该信息为有形的或无形的,也无论何时以何种方 式披露,保密信息应当包括: (1)任何与协议方及其子公司与关联公司过去、现在和未来的商业活动有 关的市场策略、计划、财务信息、发展规划、运营规划、销售数据、 商业计划、运营成果; (2)与商品或服务有关的计划,及顾客与供应商名录; (3)任何科学技术方面的信息、发明、设计、流程、配方、改进、技术及

方法; (4)任何概念、报告、数据、专业技能、在制产品、设计、研发工具、技 术规格、计算机软件、源代码、目标代码、流程图、数据库、及商业 秘密; (5)其他由协议方合理列为保密信息的信息。 上述所有信息均应被视为保密信息,无论在披露时该信息是否被标记保密字样。 1.2 保密信息不应包括: (1)在披露时已经被接收披露的一方知悉的信息; (2)非因接收披露的一方的错误行为造成的被公众所知悉的信息; (3)接收披露的一方从第三方合理获取的不负有保密义务的信息; (4)由接收披露的一方员工、顾问或代理人,在不违背本保密协议义务的 情况下独立探索得到的本协议所称的保密信息。 第二条、保密信息的披露 协议双方同意,自对任何保密信息披露之日起的三年内,任何一方不得向任何第三方泄露由对方披露的保密信息,不得将获得的保密信息用于对本次交易利益权衡目的之外的其他目的。双方应当: (1)仅向涉及双方商业合作事宜的,有需要知悉该保密信息的董事、管理人 员、雇员、代理人、代表人(以下统称“代表人”)披露保密信息; (2)向代表人告知保密信息的所有权属性,向其告知本方在本协议下的保密 义务,并要求代表人对保密信息予以保密; (3)对所获得的保密信息严格保密,并给予与保护本方所属的保密信息所给 予的同等、合理的注意。

[合同协议]软件源码移交保密协议

╳╳系统 源码授权使用保密协议 甲方: 珠海市联进高技术有限公司 乙方: 签订地点: 一、协议背景 ╳╳系统是珠海市联进高技术有限公司(以下简称甲方)为╳╳(以下简称乙方)承建的。兹双方确认甲方拥有╳╳系统全部源代码的版权,为了便于乙方更好的进行系统维护工作,并考虑到今后的业务需求变更后,对业务系统可能提出的修改要求,甲方把与业务系统相关的源代码授权乙方使用,同时双方达成以下协议。协议条款标的内容: 甲方提供给乙方的源代码,是现行╳╳系统的应用程序部分。甲方保证所提供的部分源代码与系统当前正在运行的前台程序是同一版本,利用所提供的源代码及相关资源可以直接编译生成当前系统的应用程序部分。 二、用途限定 甲方授权乙方使用源代码的方式仅限于对现行系统的程序改进之用途;乙方有义务对源代码进行保密,在任何情况下,未经甲方同意,乙方不得将此源代码提供给任何第三方。乙方并应限制有关源代码的具体使用范围,使之仅限于现行系统的维护/升级等系统开发用途,仅为直接开发人员所了解和使用,不应在同行业其他项目使用,不得用于其他用途。 三、知识产权归属 甲方拥有╳╳系统全部源代码的版权。 乙方可以对源代码进行改变,由此衍生的有关程序及源代码的知识产权由双方共同拥有。未经甲方许可,乙方不得将修改后的源代码提供给任何第三方。甲方原则上没有义务向乙方提供对源代码及其相关资讯的技术支持和培训,但双方另有协议除外。 对于由乙方使用修改后程序所引起的故障和损失,根据是初始程序内BUG 引起的还是由于乙方的不当修改造成,分清责任,并视责任情况承担各自的责任。对于假若不修改程序就不会出现的故障,甲方不承担责任。在乙方使用有关源代

源码授权使用保密协议

源代码授权使用保密协议 甲方: 普宁华侨医院 乙方: 根据我国《计算机软件保护条例》规定,计算机软件是指计算机程序及其有关文档,计算机程序包括源程序(source code)和目标程序。而源程序(又称源代码)是由一组数据所编写的一个程序,源代码(非自由软件)属于享有著作权的作品。 ××系统软件是××××××公司(以下简称乙方)为普宁华侨医院(以下简称甲方)承建安装(或升级改造)项目。 乙方应合法获得××系统软件著作权人许可甲方使用××系统软件源代码使用权、复制权、修改权,一切非法和侵权的责任均由乙方承担,与甲方无关。 为了便于甲方更好的进行该系统软件维护工作,并考虑到今后的业务需求变更后,对该业务系统软件可能提出的修改、升级等要求,乙方把与该业务系统软件相关的源代码授权甲方使用、复制、修改,双方达成以下协议: 一、对软件源代码的相关约定 1、甲方向乙方购买××系统软件应用程序的使用权,乙方同时授权甲方使用、复制、修改××系统的软件源代码,该××系统的软件源代码的使用权、复制权、修改权应属甲方收权所有,乙方须无条件如实提供。 2、乙方授权提供给甲方的源代码,是现行××系统的软件应用程序部分, 乙方保证所提供的该业务系统软件源代码与该系统当前

正在运行的软件程序是同一版本,利用所提供的源代码及相关资源可以直接编译生成当前系统的软件应用程序部分。 3、甲方于后续的信息系统建设与完善的过程中,如乙方按本协议要求,合法、如实的提供给甲方已购买相关系统软件源代码使用权、复制权、修改权,那么在相近或同等条件下,甲方后续信息系统建设可优先考虑乙方。{或乙方可享有参与甲方后续信息系统建设的优先权。注:享有优先权的说法对一家公司适应,二家以上可能不利于甲方,建议修改} 4、于××系统的软件应用程序的质保期内、外或有偿服务期间,应用授权给甲方的源代码对甲方的相关系统进行修改、维护、升级、程序的二次开发等,每次的修改、维护、升级、程序的二次开发等所衍生的相关程序及源代码(包括与衍生源代码一起提供给甲方的附属文档、数据资料和其他程序),乙方应无损、如实备份给甲方,甲乙双方须书面确认,作为甲方合法拥有(使用)的法律依据。 5、合同或协议款项的支付:甲方对所购买的有关信息网络系统或信息网络系统集成升级改造等项目,须于项目完成验收并收到(授权)校验无误的该项目系统软件源代码才支付该合同或协议款项,质保金仍按该合同或协议条款执行。 二、用途及保密约定 乙方授权甲方使用源代码的方式仅限于对甲方现行系统的程序进行修改、维护、升级、程序的二次开发等之用途, 甲方有义务对源代码进行保密,在任何情况下,未经乙方同意,甲方不得将此初始源代码和所衍生的相关程序、源代码提供给任何第三方;甲方应限制有

软件源码授权员工保密协议新编完整版

软件源码授权员工保密协议新编完整版 In the case of disputes between the two parties, the legitimate rights and interests of the partners should be protected. In the process of performing the contract, disputes should be submitted to arbitration. This paper is the main basis for restoring the cooperation scene. 【适用合作签约/约束责任/违约追究/维护权益等场景】 甲方:________________________ 乙方:________________________ 签订时间:________________________ 签订地点:________________________

软件源码授权员工保密协议新编完 整版 下载说明:本协议资料适合用于需解决双方争议的场景下,维护合作方各自的合法权益,并在履行合同的过程中,双方当事人一旦发生争议,将争议提交仲裁或者诉讼,本文书即成为复原合作场景的主要依据。可直接应用日常文档制作,也可以根据实际需要对其进行修改。 甲方: 法定代表人: 联系电话: 乙方: 性别: 身份证件号码: 户籍地址: 通讯地址: 联系方式: 鉴于甲方在乙方任职,并获得乙方

支付的相应报酬,双方当事人就甲方在任职期间及离职以后保守乙方商业秘密的有关事项,订定下列条款共同遵守:第一条秘密信息 1、双方确认,甲方在乙方任职期间,因履行职务或者主要是利用乙方的物质技术条件、业务信息等产生的发明创造、技术秘密或其它商业秘密,有关的知识产权均属于乙方享有。乙方可以在其业务范围内充分自由地利用这些发明创造、技术秘密或其它商业秘密,进行生产、经营或者向第三方转让。甲方应当依乙方的要求,提供一切必要的信息和采取一切必要的行动,包括申请、

源码销售保密协议定稿版

源代码保密协议 鉴于甲乙双方已签订编号为:的协议(以下简称“主协议”),乙方授权甲方使用乙方相关产品源代码。 本保密协议由(简称“甲方”)与 xx软件有限公司(简称“乙方”)于年月日签订。 一、保密信息定义: 本协议“保密信息”指,不论在本保密协议签署日之前或在此之后,乙方的任何以下信息(不论以口头、书面或电子形式或以其他方式): 1.1乙方相关产品源代码。 1.2乙方相关产品源代码有关的附属文档、数据资料和其他程序。 但是“保密信息”不包括以下范围内的文件、信息、数据或专有技术: 1.1在披露时为甲方所公开知晓的信息。 1.2能够证明甲方或其雇员或其专业顾问在非保密的基础上从第三方合法获得的信息,且据甲方所知,第三方提供该等信息并不违反该第三方对乙方所承担的保密义务。 二、守约义务: 甲方保证: 2.1仅为主协议、本协议之目的使用保密信息。 2.2不得将保密信息投入以盈利为目的市场销售或贩卖等商业活动或交付第三方用于商业用途。 2.3对保密信息或保密信息衍生的信息,未经乙方事先书面许可,甲方不得向任何第三方包括但不限于甲方的关联企业, 或允许向任何第三方包括但不限于甲方的关联企业直接或间接地透露保密信息或保密信息衍生的信息。“关联企业”应包括下列任何公司: 2.3.1由甲方直接或间接拥有或控制的公司,或者 2.3.2直接或间接拥有或控制甲方的公司,或者与甲方共同被其他方直接或间接拥有或控制的公司。 2.3.3所有权或控制将通过下列方式存在:直接或间接的拥有一家公司超过50 %的股份,或者直接或间接的不论以何种 方式有权选举一家公司的多数董事或履行类似职责的人。 2.4对保密信息保密,并采取所有必要的预防措施(包括但不限于甲方采取的用于保护自身保密信息的措施)防止未经授权地使用及透露保密信息。 2.5参与主协议业务的甲方员工从此协议约定项目转向与乙方直接竞争的项目,则甲方应确保立即终止该员工获得乙方保密信息和信息源的途径,并要求该员工签署保密协议。 三、保密信息的管理: 仅可向为评估、结构设计或谈判项目目的而需要知晓该等信息的甲方雇员、关联公司和/或专业咨询人员披露甲方收到的 来自乙方的保密信息。 四、本协议内容的保密: 4.1关于保密信息以及本保密协议的任何公开陈述应由甲乙双方协议一致后做岀。 4.2除非乙方事先书面同意,甲方不得向任何第三方或者公众披露已获得保密信息以及项目正在进行谈判与磋商的事实。 五、损害赔偿: 5.1甲方应承担违反本保密协议义务所产生的责任。就任何未经授权而使用或披露保密信息而产生的损害、损失、成本或责任,甲方应对乙方进行补偿并使其免受损害。 5.2如甲方违反本合同所描述之相关约定,乙方将保留追究甲方法律责任的权力,如甲方违反本保密协议第2条约定的

软件源码授权员工保密协议

合同编号:_________
软件源码授权员工保密协议
甲方:_________________________ 乙方:_________________________ 签订日期:______年_____月_____日
第1页共7页

甲方:
软件源码授权员工保密协议
法定代表人:
联系电话:
乙方:
性别:
身份证件号码:
户籍地址:
通讯地址:
联系方式:
鉴于甲方在乙方任职,并获得乙方支付的相应报酬,双方当事人就 甲方在任职期间及离职以后保守乙方商业秘密的有关事项,订定下列条 款共同遵守:
风险提示: 用人单位有权采取措施保护商业秘密,但在订立 保密协议时应注意不能侵犯劳动者的合法权利——劳动者有择业 的自由,但在行使权利时同样不得损害用人单位的商业秘密。保密 协议跟其它协议一样,首先必须遵循公平、平等原则,才具有法律 效力,否则该协议无效。
第2页共7页

第一条秘密信息
1、双方确认,甲方在乙方任职期间,因履行职务或者主要是利用 乙方的物质技术条件、业务信息等产生的发明创造、技术秘密或其它商 业秘密,有关的知识产权均属于乙方享有。乙方可以在其业务范围内充 分自由地利用这些发明创造、技术秘密或其它商业秘密,进行生产、经 营或者向第三方转让。甲方应当依乙方的要求,提供一切必要的信息和 采取一切必要的行动,包括申请、注册、登记等,协助乙方取得和行使 有关的知识产权。
2、甲方在乙方任职期间所完成的、与乙方业务相关的发明创造、 技术秘密或其它商业秘密,甲方主张由其本人享有知识产权的,应当及 时向乙方申明。经乙方核实,认为确属于非职务成果的,由甲方享有知 识产权,乙方不得在未经甲方明确授权的前提下利用这些成果进行生 产、经营,亦不得自行向第三方转让。
第二条 对秘密信息的保密
1、甲方在乙方任职期间,必须遵守乙方规定的任何成文或不成文 的保密规章、制度,履行与其工作岗位相应的保密职责。
2、乙方的保密规章、制度没有规定或者规定不明确之处,甲方亦 应本着谨慎、诚实的态度,采取任何必要、合理的措施,维护其于任职 期间知悉或者持有的任何属于乙方或者虽属于第三方但乙方承诺有保 密义务的技术秘密或其它商业秘密信息,以保持其机密性。
3、乙方保证除非为了甲方项目的工作需要交流此种秘密信息外,
第3页共7页

软件开发项目保密协议书范本

保密协议 甲方: 乙方: 鉴于: 甲乙双方在履行《xxx》项目开发过程中,甲方将向乙方披露其保密信息(包括甲方部数据),以及双方在合作过程中乙方已经或者将要知悉甲方的保密信息,为明确甲乙双方的保密义务,保护甲方的商业秘密不受侵犯,经协商一致,达成如下协议: 第一条保密信息的围 1、保密信息是指由甲方通过文字、电子或数字方式或媒介向乙方提供的,在提供时明确标记有“保密”的,以及虽未标记为“保密”但属于甲方的生产经营数据、报表、图幅、报告及技术信息。口头传达并在传达同时认定为属于保密的信息应当视为保密信息。甲方相关的业务和技术方面有保密要求的资料信息。 保密信息还包括本项目研发中形成的双方共有技术、产权、软件成果、研究思路。保密信息包括但不限于: (1)数据库所有的数据; (2)客户或潜在客户的身份及其他相关信息、客户联系方式和客户销售策略等; (3)市场研究结果,市场渗透资料,及其他市场信息; (4)销售和市场计划、规划及策略; (5)销售额、成本和其他财务数据;

(6)经营秘密、技术秘密、设计及专有的经营和技术信息,与本协议所涉及产品及其程序设计、源码等有关的方法、经验、程序、步骤; (7)产品、零件及服务的供应源; (8)任何其他秘密工艺、配方或方法; (9)本项目研发形成的双方共有技术、产权、软件成果、研究思路在成果申报之前。 2、保密信息不包括以下信息: (1)甲方已经公布于众的资料,但不包括甲乙双方或其代表违反本协议规定未经授权所披露的; (2)乙方已经独立开发的及未曾违反任何法律、法规或甲方的任何权利的信息,并且该等信息是在乙方依照本协议条款从甲方获悉该等信息之前独立开发的; (3)乙方在依照本协议条款从甲方获悉之前已经占有的信息,并且就乙方所知乙方并不需要对该等信息承担任何具有约束力的保密义务; (4)在双方签订本协议以后并非由于乙方的过错而被公众所知的信息; (5)乙方在未违反其对甲方承担的任何义务的情况下从第三方获得的信息。 第二条保密信息的使用 1、乙方应使所有保密信息得到最严格的保密,并且除为促进软件新产品发展,或本协议允许的用途外,不得使用该等保密信息。

知识产权保密协议书范文

知识产权保密协议书范文 甲方: 法定代表人: 电话: 地址: 乙方:性别: 身份证号码:邮箱: 固定电话:移动电话: 身份证住址: 在京居住地址: 鉴于甲方同意聘用乙方在甲方工作,同时乙方愿意受聘; 鉴于乙方对公司应承担的责任; 鉴于乙方在受聘工作期间,将在其职务工作中做出一些研究及开发结果,并将因业务需要接触到甲方拥有的各项研究、开发结果以及有关技术、市场等方面的各种商业秘密,这些研究、开发结果以及有关的商业秘密都是属于甲方的财产,对于甲方具有一定的商业价值。 为了维护甲方的商业利益,并明确乙方作为甲方员工所负有的保密义务,甲、乙双方在遵循诚实、信用、平等、自愿的原则上,就乙方在任职期间及离职以后保守甲方商业信息秘密的有关事项,经协商一致,达成如下协议。 第一条定义 (一) 职务开发结果 所谓职务开发结果是指乙方在受聘甲方期间,为履行自己的职务所完成的或者所构想的所有研究及开发结果,包括(但不限于) 1、产品设计、工模具设计、制造方法、工艺流程、材料配方、经验公式、实验数据; 2、项目方案、项目建议书、需求说明、设计文档、计算机软件及其算法、设计、程序源码、目标码、运行程序、用户手册; 3、商标设计、标志设计等;以及虽不属于自己职务范围但属于甲方业务范围的所有上述研究、开发结果,以及对甲方现有研究及开发结果的改造; 4、"乙方利用甲方的设备、资源和有关工作条件进行的创作、研究、开发成果"亦归属甲方。

(二) 商业秘密 所谓商业秘密是指由甲方提供的,或者乙方在甲方内了解到的,或者乙方为履行自己的职务而开发出来的,与甲方业务有关的,具有商业价值的,非公知的所有信息。包括(但不限于)以下这些类型: 1、关于甲方现有的、以及正在开发或者构思之中的产品设计、客户资源、项目方案、项目建议书、需求说明、设计文档、程序源码、目标码、运行程序、用户手册、工具模具、制造方法、工艺过程、材料配方、经验公式、实验数据、设计等方面的信息、资料、图纸、模型及样品等; 2、甲方现有的以及正在开发或者构想之中的服务项目的信息和资料; 3、甲方现有的或者正在开发之中的质量管理方法、定价方法、销售方法等业务活动方法; 4、甲方的业务计划、产品开发计划、财务情况、内部业务规程以及供应商、经销商和客户的名单等业务活动的信息; 5、甲方的各种管理规章、制度及经营管理的各种文档、资料及计算机中存储的有关信息; 6、甲方企业内部网上的所有应用系统的个人id文件、帐号名及口令; 7、按照法律和协议,甲方对第三方负有保密责任的第三方的商业秘密。 第二条职务开发结果的权利归属 (一)乙方同意,自己作出的所有职务开发结果应立即按甲方所要求的形式首先向甲方报告。 (二)乙方认可,任何职务开发结果的所有知识产权归属甲方,包括(但不限于) 1、任何发明、实用新型或外观设计的专利权和专利申请权; 2、设计图纸、计算机软件、商标设计和标志设计的著作权; 3、对商业秘密的权利,对商品名称和商标的专用权等。 4、本协议第一条第(一)款及第(二)款项下所列明的各项权利。 (三)乙方同意按照甲方的要求采取甲方认为取得和保持上述职务开发结果知识产权所需的一切法律行为,包括申请、注册、登记等;并同意按照甲方的要求出具必要的文件,采取必要的措施以确认甲方的上述职务开发结果的知识产权归属甲方。 (四)乙方同意在未获甲方事先书面同意时,决不把有关上述职务开发结果的信息向任何第三方透露。

通用型业务合作保密协议1

业务合作保密协议 协议编号: 甲方: 地址: 电话: 乙方: 地址: 电话: 甲乙双方拟针对项目在商业、技术领域开展合作,鉴于双方在合作过程中涉及有关各自产品以及生产的信息交接,现经双方友好协商,就有关合作期间的保密事宜达成以下协议。 第一条机密信息的定义。在本协议中,“机密信息”系指: 1、与本协议任何当事方之业务及其现有、未来和拟开发之产品和服务有关的一切技术类和非技术类信息,包括但不限于协议双方各自有关研发的信息、设计详情和规范、财务信息、采购要求、工程和生产信息、客户清单、商业前景预测、销售信息和营销方案; 2、本协议任何一方可能在本协议下提供的任何源代码、固件或其它可机读或人工读取的软件代码,以及其中包含的商业机密; 3、协议一方已经从其他方处获得且该方有义务保密的信息; 第二条仅在符合以下规定时,协议一方(以下称为“披露方”)披露的此等信息方可被对方(以下称为“接收方”)视为披露方的机密信息: 1、该信息是以有形或书面形式(例如纸张、磁盘或电子邮件)提供的,且显著标记有“机密”标识(或其它类似文字标志); 2、在披露之时,被与披露方从事相同行业且业务类似的理性自然人视为机密信息的信息。 第三条保密义务。

1、接收方不得使用、复制、摘取、反译、散播或以任何方式向任何人、企业或公司披露方的机密信息,除非是为了用于与披露方进行谈判、讨论和磋商而必需的内部评估(以下称为“用途”)。 2、机密信息不得下载到或用于接收方的设备中,除非该行为是“用途”所不可或缺的,此时必需事先得到披露方的明确书面同意和许可。接收方不得将机密信息用于创造“衍生作品”,也不得将机密信息发布到公共网络上。 3、此外,未经对方事先书面批准,任何一方均不得将双方之间正在进行的任何谈判、商讨或磋商的存在披露给任何形式的公共媒体。接收方应对披露方的所有机密信息予以严格保密对待,谨慎程度应当与接收方对自己的机密信息所持的谨慎程度相同,但在任何情况下接收方所给予的谨慎程度均不得低于合理水平。 4、接收方仅可将披露方的机密信息向确有必要知晓此等信息的接收方员工、顾问和承包商进行披露。接收方特此声明,每位此等员工、顾问和承包商均已同意受限于一定保密条款和条件(无论是作为雇佣的前提条件还是为了获取披露方的机密信息),且此等条款和条件的严格程度不低于接收方在本协议下应遵守的适用条款和条件之严格程度。如得知任何对披露方之机密信息的非授权使用或披露,接收方应立即通知披露方。接收方应协助披露方纠正此等对披露方之机密信息的非授权使用或擅自披露行为。 第四条保密义务的免责情形。 1、接收方在本协议第三条下的义务不适用于能够被接收方以书面证据证明属于以下情况的披露方机密信息: (a)在披露方将机密信息告知给接收方之时或此后,已经进入(且并非是因接收方的过失而导致进入)公知领域的信息; (b)在披露方将机密信息告知给接收方之时或此后,已经由接收方合法持有且无任何保密义务的信息; (c)由接收方的员工或代理人在不参考任何披露方机密信息的前提下独立开发出来的信息; (d)由披露方告知给非关联第三方且该第三方无任何保密义务的信息。 接收方对任何披露方机密信息的披露,如果是(1)应法庭或其他政府机构的有效命令而做出的;(2)是法律要求做出的;或(3)是行使本协议下任何协议方之权利所必要的,则该披露不应被视为接收方对本协议的违约;但在此等情况中,接收方应事先向披露方给予及时的书面通知,以使披露方能够寻求保护令或其它阻止此等披露的方法。 第五条机密信息和其它材料的所有权和退还。 1、所有披露方的机密信息及其“衍生作品”,无论是由该披露方还是接收方创造的,均属于披露方的财产,披露方未向接收方授予或暗示给予关于此等机密信息或衍生作品的任何许可或其它权利。

软件源码授权员工保密协议最新(协议范本)

编号:YK-HT-047057 软件源码授权员工保密协议最新 Software source code authorized staff confidentiality agreement updated 甲方:_________________________ 乙方:_________________________ 日期:_________年_____月_____日 精品合同 / Word文档 / 文字可改 编订:Yunbo Design

软件源码授权员工保密协议最新 甲方: 法定代表人: 联系电话: 乙方: 性别: 身份证件号码: 户籍地址: 通讯地址: 联系方式: 鉴于甲方在乙方任职,并获得乙方支付的相应报酬,双方当事人就甲方在任职期间及离职以后保守乙方商业秘密的有关事项,订定下列条款共同遵守:

第一条秘密信息 1、双方确认,甲方在乙方任职期间,因履行职务或者主要是利用乙方的物质技术条件、业务信息等产生的发明创造、技术秘密或其它商业秘密,有关的知识产权均属于乙方享有。乙方可以在其业务范围内充分自由地利用这些发明创造、技术秘密或其它商业秘密,进行生产、经营或者向第三方转让。甲方应当依乙方的要求,提供一切必要的信息和采取一切必要的行动,包括申请、注册、登记等,协助乙方取得和行使有关的知识产权。 2、甲方在乙方任职期间所完成的、与乙方业务相关的发明创造、技术秘密或其它商业秘密,甲方主张由其本人享有知识产权的,应当及时向乙方申明。经乙方核实,认为确属于非职务成果的,由甲方享有知识产权,乙方不得在未经甲方明确授权的前提下利用这些成果进行生产、经营,亦不得自行向第三方转让。 第二条对秘密信息的保密 1、甲方在乙方任职期间,必须遵守乙方规定的任何成文或不成文的保密规章、制度,履行与其工作岗位相应的保密职责。

源码授权使用保密协议

源代码授权使用保密协议 甲方:普宁华侨医院 乙方: 根据我国《计算机软件保护条例》规定,计算机软件是指计算机程序及其有关文档,计算机程序包括源程序(source code )和目标程序。而源程序(又称源代码)是由一组数据所编写的一个程序,源代码(非自由软件)属于享有着作权的作品。 xx系统软件是xxxxxx公司(以下简称乙方)为普宁华侨医院(以下简称甲方)承建安装(或升级改造)项目。 乙方应合法获得xx系统软件着作权人许可甲方使用xx系统软件源代码 使用权、复制权、修改权,一切非法和侵权的责任均由乙方承担,与甲方无关。 为了便于甲方更好的进行该系统软件维护工作,并考虑到今后的业务需求变更后,对该业务系统软件可能提出的修改、升级等要求,乙方把与该业务系统软件相关的源代码授权甲方使用、复制、修改,双方达成以下协议: 一、对软件源代码的相关约定 1、甲方向乙方购买xx系统软件应用程序的使用权,乙方同时授权甲方使用、复制、修改xx系统的软件源代码,该xx系统的软件源代码的使用权、复制权、修改权应属甲方收权所有,乙方须无条件如实提供。 2、乙方授权提供给甲方的源代码,是现行xx系统的软件应用程序部分,乙方保证所提供的该业务系统软件源代码与该系统当前正在运行的软件程序是同 一版本,利用所提供的源代码及相关资源可以直接编译生成当前系统的软件应用程序部分。 3、甲方于后续的信息系统建设与完善的过程中,如乙方按本协议要求,合 法、如实的提供给甲方已购买相关系统软件源代码使用权、复制权、修改权,那么在相近或同等条件下,甲方后续信息系统建设可优先考虑乙方。{或乙方可享有参与甲方后续信息系统建设的优先权。注:享有优先权的说法对一家公司适应,二家以上可能不利于甲方,

知识产权与保密协议通用版

知识产权与保密协议 甲方: 法定代表人( 或委托代理人): 经营所在地: 邮编:联系电话: 乙方: 身份证号: 住址: 邮编:联系电话 因乙方现为甲方提供服务或双方合作,已经(或将要) 知悉甲方的商业秘密,为明确乙方的保密义务和维护双方的合法权益,依据相关法规,甲乙双方本着平等、自愿、公平和诚实信用的原则签订本协议。 一.保密部分 第1 条保密内容及范围 1.1乙方同意对甲方、或者虽属于甲方客户(含意向客户)等第三方但甲方负有保密义务的一切保密信息在保密期内予以严格保密。 1.2本协议中的“保密信息”是指乙方在甲方工作期间接触到的甲方、甲方客户及甲方关联客户的任何形式的秘密信息,包括但不限于: (1)任何甲方、甲方客户及甲方关联客户不欲公开的观点、发现、发明、公式、程序、计划、图表、模型、参数、数据、标准、商业秘密、专有技术以及任何知识产权等; (2)甲方、甲方客户及甲方关联客户制作或拥有的任何形式的报告、访谈记录、数据、信件、电子邮件、报表、模型以及其他文件的原件或副件; (3)甲方、甲方客户及甲方关联客户的技术资料或秘密、经营情况、经营策略及经营信息、客户信息、客户经营状况等; (4)甲方内外部项目的项目建议书、项目计划、报价、合同、项目研究方法和工具、培训资料和工具以及项目成果等; (5)甲方内部不欲公开或未经公开的公司制度、文件、决议、消息和公司运营情况等; (6)任何甲方、甲方客户及甲方关联客户不欲公开的关于财务、成本、利润、市场、销售、

合同、采购等渠道、客户、经销商信息等。 (7)甲方的客户或潜在客户信息,包括但不限于其身份及其他相关信息、客户联系方式和客户销售策略等; (8)下列信息亦属于甲方的重要保密信息: 1.3乙方承认,上述“保密信息”均为甲方的保密信息。本协议不仅适用于乙方在本协议签订之后接触的保密信息,也适用于乙方在本协议生效日期前接触的所有保密信息。 1.4乙方确认,如果对是否属于保密信息存在争议或不太明确,则乙方应按保密信息进行处理,除非得到甲方或乙方上级的明确否认。 第2 条乙方的保密义务 2.1乙方同意为甲方公司利益尽最佳努力,在提供服务或双方合作期间不组织、参加或计划组织、参加任何竞争企业、或从事任何不正当使用甲方商业秘密的行为。 2.2乙方在为甲方提供服务或双方合作期间,应严格遵守甲方规定的任何成文或不成文的保密规章、制度,履行与其服务内容相应的保密职责;若甲方的保密规章、制度没有规定或者规定不明确之处,乙方亦应本着谨慎、诚实的态度,采取任何必要、合理的措施,维护其于任职期间知悉或者持有的保密信息。 甲方或乙方上级在职权范围内就保密事宜对乙方提出的要求与指示,乙方应予执行,并作为本合同约定的保密义务的一部分。 2.3乙方同意对保密信息予以严格保密,承担的保密义务包括但不限于: 2.3.1乙方因某一项目而从甲方、甲方客户或甲方关联客户处获得的保密信息,乙方承诺只在进行该项目或与该项目紧密相关的项目研究时使用,绝不为与该项目无关的目的使用该保密信息; 2.3.2乙方应对甲方、甲方客户或甲方关联客户交到自己手中的保密信息予以妥善保存,不得泄漏或遗失,在未经甲方事先书面许可,不得私自保留或复制、记录; 2.3.3非经甲方事先书面许可,乙方不得直接或间接地以任何方式或向任何第三方(任何第三方,包括除甲方该项目组人员以外的任何机构和人员)披露或透露保密信息;亦不得依据保密信息,就任何问题,向任何第三方做出任何建议; 2.3.4当甲方、甲方客户或甲方关联客户要求乙方交回保密信息时(无论出于何种理由),乙方应立即将保密信息(及保密信息的载体、复制品等)完整交回; 2.3.5根据甲方的要求,如实向甲方提供保密信息的使用记录;

软件开发平台公司保密协议

保密协议书 甲方: 法定代表人: 注册地址: 联系电话: 乙方人员: 鉴于: 1、甲方在日常经营程中所涉及和接触的有关信息、数据、资料、技术及成果性文件等均属甲方商业秘密(包括甲方涉及相关公司及其关联方、甲方客户,下同)。且甲方目前正在研发及计划中的项目(以下简称“项目”),与项目相关的商业秘密信息一旦泄露或被不当利用,将给甲方造成巨大损失。 2、乙方为甲方的参与项目人员与涉及项目的相关人员,在甲方处工作期间或从其他渠道已经或将要知悉甲方的商业秘密。 3、甲乙双方认可,乙方作为甲方公司的员工或涉及项目的相关人员,除应履行一般的保密义务外,就该项目所涉的任何商业秘密,乙方应均予以严格保密。 为了保护甲方的正当合法权益,根据国家有关法律法规,本着平等、自愿、公平、诚信的原则,就乙方工作期间对甲方应承担的保密义务,经甲乙双方充分协商一致后,共同订立本协议,以资信守: 一、保密范围和内容 甲乙双方确认,乙方在甲方处工作期间,对甲方的如下商业秘密(包括但不限于)应承担保密义务: 1、甲方商业运作模式; 2、甲方系统业务规则和规章制度与流程;

3、甲方系统业务数据; 4、甲方系统财务数据; 5、甲方客户信息数据; 6、与项目相关的一切信息,包括但不限于:项目设计方案、实施方案、实施计划、甲方决策、数据库、技术文档、系统程序、源代码、图纸等; 7、乙方工作或参与项目期间,因工作关系而获得、交换的保密性信息以及其他一切与甲方有关的信息。 二、乙方保密义务 1、不得刺探与本职工作或本身业务无关的甲方商业秘密;不得向任何第三人披露甲方的商业秘密; 2、不得利用软件技术优势,为甲方系统植入木马,隐藏后门等非法手段,影响甲方软件系统的正常使用和安全性,造成损失的,一经发现,甲方有权向乙方要求经济赔偿和提起法律诉讼; 3、不得使任何第三人(包括甲方单位内部员工)获得、使用或计划使用甲方商业秘密信息,即除了得到甲方单位书面指示外,不得直接或间接向单位内部、外部的人员泄露甲方商业秘密信息; 4、项目完成/终止后或甲方与乙方的劳动合同终止或解除后,乙方应继续履行本协议,保守其已经知悉的甲方的商业秘密,否则甲方将依法追究乙方和获知甲方商业秘密第三方的全部法律责任; 5、不得以明示或默示、作为或不作为的方式允许或协助任何第三人获取、使用甲方商业秘密信息; 6、不得为自己利益使用或计划使用甲方的商业秘密;在甲方处工作或参与项目期间,不得从事与其竞争的其他同类产品的合作; 7、非工作之必须,不得复制、摘录、拷贝或擅自向外携带包含甲方单位商业秘密内容的文件、信函、磁盘、光盘、移动硬盘或U盘等; 8、因工作需要保管、接触的有关文件应妥善保存,未经许可不得超出工作范围使用,如发现商业秘密被泄露或因自己过失泄露的,应采取有效措施防止泄密进一步扩大,并及时向甲方报告;

简单保密协议通用版

保密协议书 甲方: 乙方:身份证号码: 住所地: 主要联系方式: 鉴于: 1、甲方与乙方确立了劳动关系,签订了劳动合同,且乙方在公司所任职位及所从事工作的保密性质; 2、乙方充分理解并同意甲方在协议中拟订的要求; 3、乙方在公司工作期间所获悉的商业秘密,包括但不限于公司资料,文件,信息,软件,数据库及其他公司的信息资料(包括但不限于书面资料,电子文本,照片等)。 甲、乙双方为维护公司合法利益、严格乙方职业职责,根据《公司法》、《合同法》、《劳动法》、《劳动合同法》和知识产权保护等法律、法规,在平等、协商、诚实、守信的基础上,经磋商,就乙方负有保密责任有关事宜达成一致,具体协议条款如下: 一、保密内容和范围 本协议所指商业秘密是指不为公众所知悉、能为权利人带来经济利益、具有实用性并经权利人采取保密措施的技术信息和经营信息。具体包括但不限于:

1、甲方的生产资料、生产基础、生产情况、产品配方、产品成本、产品定价、人事记录、员工资料、客户名单、供应商名单、货源情报、市场资料、业绩评估、产销策略、销售历史、财务状况、进料渠道、设计、程序、技术文档、软件源代码、可执行程序、演示程序、测试数据、制作工艺、制作方法、工艺流程、技术资料、管理诀窍、产品开发与研究进程、招投标的标底和标书内容以及尚未经甲方正式对外公布的经营管理信息、科研成果。 2、所有在乙方受聘期间研究发明或者参与研究发明的科研或成果,以及从公司知晓、学习到的知识、了解的商业秘密及知识产权,获知或负责完成的一切与项目及公司有关的信息、资料、数据等。 3、其他经营信息、技术信息。 4、虽不符合商业秘密构成要件,但是甲方明确提出保密要求的资料或者信息,也适用本协议有关权利义务的规定。 5、本保密协议和劳动合同为甲方内部文件,乙方应妥善保管,不得泄露给第三方,离职时必须退回甲方,如有泄露按本合同泄露商业秘密的规定处理。 6、客户名单和供应商名单包含以下内容:客户名称、住所地、通信地址、电子信箱、负责人、业务联系人等。 7、《劳动合同》和本协议其他条款提及的“商业秘密”应当理解为包括本条各款所指的资料或者信息,不再另行指出。 二、保密期限 1、本协议经双方认可的保密期限为自乙方获取本协议保密范围内甲方任何信息资料等之时直至该等信息、资料为公众所知悉止,且不因乙方是否最终成为甲方受聘人员或离任、辞职、解雇等原因而终止。

软件源码移交保密协议

XX系统 源码授权使用保密协议 甲方: 珠海市联进高技术有限公司_________________________________ 乙方: _____________________________________ 签订地点:___________________________________ 一、协议背景 XX系统是珠海市联进高技术有限公司(以下简称甲方)为XX(以下简称乙方)承建的。兹双方确认甲方拥有XX系统全部源代码的版权,为了便于乙方更好的进行系统维护工作,并考虑到今后的业务需求变更后,对业务系统可能提出的修改要求,甲方把与业务系统相关的源代码授权乙方使用,同时双方达成以下协议。协议条款标的内容: 甲方提供给乙方的源代码,是现行XX系统的应用程序部分。甲方保证所提供的部分源代码与系统当前正在运行的前台程序是同一版本,利用所提供的源代码及相关资源可以直接编译生成当前系统的应用程序部分。 二、用途限定 甲方授权乙方使用源代码的方式仅限于对现行系统的程序改进之用途;乙方有义务对源代码进行保密,在任何情况下,未经甲方同意,乙方不得将此源代码提供给任何第三方。乙方并应限制有关源代码的具体使用范围,使之仅限于现行系统的维护/升级等系统开发用途,仅为直接开发人员所了解和使用,不应在同行业其他项目使用,不得用于其他用途。 三、知识产权归属 甲方拥有XX系统全部源代码的版权。 乙方可以对源代码进行改变,由此衍生的有关程序及源代码的知识产权由双 方共同拥有。未经甲方许可,乙方不得将修改后的源代码提供给任何第三方。甲方原则上没有义务向乙方提供对源代码及其相关资讯的技术支持和培训,但双方另有协议除外。 对于由乙方使用修改后程序所引起的故障和损失,根据是初始程序内BUG 引起的还是由于乙方的不当修改造成,分清责任,并视责任情况承担各自的责任。对于假若不修改程序就不会出现的故障,甲方不承担责任。在乙方使用有关源代码的

软件源码授权保密协议

源代码授权使用保密协议 Confidentiality Agreement on the Authorized Use of Source Code 甲方(公司名称)Party A (Company Name): . 乙方(公司名称)Party B (Company Name): ZKTeco LATAM SA DE CV 为了保护甲乙双方在合作中涉及的保密信息,需要取得对方的相关业务和技术资料,为此,甲乙双方本着互惠互利、共同发展的原则,经友好协商签订本协议。 To protect the involved confidential information, business and technique materials of each party in the cooperation, Party A and Party B signed this agreement based on mutual benefit and development. 一.保密信息和价值认定(Confidential Information & Value ) 本协议中的保密信息是指甲方以书面、口头或电子的形式提供给乙方的任何源代码、软件代码、编程规范、设计文档、接口文档、和相关文档、程序接口、研究成果、开发流程、质量标准及其它的技术信息 等。此份协议的保密和价值标的为_________________,认定价值为_________ 美金。 In this agreement, confidential information includes all the source code, software code, programming specification, design document,API document, and related technical information about document, API interface, research achievement, development process, and quality criterion that Party A provided to Party B in the form of written, oral, or electronic.The confidentiality & value of this agreement for_____________________________which value as ___________ USD. 二.知识产权归属(Intellectual Property Ownership) 乙方可以对源代码进行改变,由此衍生的有关程序及源代码的知识产权由双方共同拥有。未经甲方许可,乙方不得将修改后的源代码提供给任何第三方。 对于由乙方修改后所引起的故障和损失,分为初始程序内BUG引起的,及由于乙方的不当修改造成的两种情况,视情况而定责。对于后者,甲方不承担责任。 Party B has the right to modify the source code, and the intellectual property of the modified program and source code belongs to both parties. Party B shall not provide the modified source code to any third parties without Party A’s permission. For the program failure and loss after the modification, both parties shall distinguish ether the bug in original program or the inappropriate modifications caused the problems and bear the respective responsibilities. For the problems that would not occur if the program is not modified, Party A does not bear any responsibility. 三、违约责任(Default Liability) 乙方如果违反本协议第二条,在未经甲方许可的情况下,将甲方授权其使用的源代码或修改后的衍生源代码提供给任何第三方,均应承担对甲方的赔偿责任,方式为向甲方支付违约金美金___________万元。 If Part y B breaches the terms of article 2 , without Party A’s permission, reveals the source code or modified source code to any third parties, Party B shall undertake the liability of pay Party A the compensation of USD__________. 甲方盖章(Party A Stamp):乙方盖章(Party B Stamp): 签字(Signature):签字(Signature): 电话(Number):电话(Number): 日期(Date):年(Year)月(Month)日(Day)日期(Date):年(Year)月(Month)日(Day)

相关文档
最新文档