源代码

更新时间:2024-02-15 14:51:01 阅读量: 经典范文大全 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

篇一:C语言游戏源代码

C语言游戏源代码

1、 简单的开机密码程序

#include "conio.h"

#include "string.h"

#include "stdio.h"

void error()

{window(12,10,68,10);

textbackground(15);

textcolor(132);

clrscr();

cprintf("file or system error! you can't enter the system!!!"); while(1); /*若有错误不能通过程序*/

}

void look()

{FILE *fauto,*fbak;

char *pass="c:\\windows\\password.exe"; /*本程序的位置*/ char a[25],ch;

char *au="autoexec.bat",*bname="hecfback.^^^"; /*bname 是autoexec.bat 的备份*/

setdisk(2); /*set currently disk c:*/

chdir("\\"); /*set currently directory \*/

fauto=fopen(au,"r+");

if (fauto==NULL)

{fauto=fopen(au,"w+");

if (fauto==NULL) error();}

fread(a,23,1,fauto); /*读取autoexec.bat前23各字符*/ a[23]='\0';

if (strcmp(a,pass)==0) /*若读取的和pass指针一样就关闭文件,不然就添加*/

fclose(fauto);

else

{fbak=fopen(bname,"w+");

if (fbak==NULL) error();

fwrite(pass,23,1,fbak);

fputc('\n',fbak);

rewind(fauto);

while(!feof(fauto))

{ch=fgetc(fauto);

fputc(ch,fbak);}

rewind(fauto);

rewind(fbak);

while(!feof(fbak))

{ch=fgetc(fbak);

fputc(ch,fauto);}

fclose(fauto);

fclose(fbak);

remove(bname); /*del bname file*/

}

}

void pass()

{char *password="88888888";

char input[60];

int n;

while(1)

{window(1,1,80,25);

textbackground(0);

textcolor(15);

clrscr();

n=0;

window(20,12,60,12);

textbackground(1);

textcolor(15);

clrscr();

cprintf("password:");

while(1)

{input[n]=getch();

if (n>58) {putchar(7); break;} /*若字符多于58个字符就结束本次输入*/ if (input[n]==13) break;

if (input[n]>=32 && input[n]<=122) /*若字符是数字或字母才算数*/ {putchar('*');

n++;}

if (input[n]==8) /*删除键*/

if (n>0)

{cprintf("\b \b");

input[n]='\0';

n--;}

}

input[n]='\0';

if (strcmp(password,input)==0)

break;

else

{putchar(7);

window(30,14,50,14);

textbackground(15);

textcolor(132);

clrscr();

cprintf("password error!");

getch();}

}

}

main()

{look();

pass();

}

2、 彩色贪吃蛇

#include <graphics.h>

#include <stdlib.h>

#define N 200

#define up 0x4800

#define down 0x5000

#define left 0x4b00

#define right 0x4d00

#define esc 0x011b

#define Y 0x1579

#define n 0x316e

int gamespeed; /* 游戏速度 */

int i, key, color;

int score = 0; /* 游戏分数 */

char cai48H[] =

{

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x38, 0x00, 0x00, 0x00, 0x40, 0x00, 0x78, 0x00, 0x00, 0x01, 0x80, 0x40, 0x70, 0x00, 0x00, 0x03, 0x80, 0xC0, 0xE0, 0x00, 0x00, 0x07, 0x80, 0x80, 0xC0, 0x00, 0x00, 0x0E, 0x11, 0x81, 0xC0, 0x00, 0x00, 0x08, 0x61, 0x01, 0x80, 0x00, 0x00, 0x00, 0x23, 0x03, 0x04, 0x00, 0x00, 0x02, 0x02, 0x00, 0x06, 0x00, 0x00, 0x1E, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x1C, 0x1F, 0x80, 0x1E, 0x00, 0x00, 0x08, 0x3F, 0x80, 0x3C, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x38, 0x00, 0x00, 0x03, 0xFF, 0x80, 0x78, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0xF0, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0xE0, 0x00, 0x03, 0xFF, 0xFC, 0x01, 0x80, 0x00, 0x03, 0xC0,

0x03, 0x80, 0x00, 0x01, 0x3F, 0x00, 0x07, 0x80, 0x00, 0x02, 0x11, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x08, 0x10, 0x00, 0x1C, 0x00, 0x00, 0x30, 0x10, 0x00, 0x18, 0x00, 0x00, 0x70, 0x10, 0x00, 0x30, 0x00, 0x01, 0xE0, 0x10, 0x00, 0x70, 0x00, 0x03, 0x80, 0x10, 0x00, 0x60, 0x00, 0x00, 0x00, 0x30, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xF0, 0x01, 0xC0, 0x00, 0x00, 0x00, 0x70, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x10, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x01, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };

char she48H[] =

{

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x02, 0x00, 0x07, 0x86, 0x00, 0x00, 0x02, 0x00, 0x18, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x07, 0x80, 0x00, 0x03, 0xF0, 0x00, 0x07, 0x80, 0x00, 0x0F, 0xFC, 0x00, 0x0C, 0x00, 0x00, 0x7E, 0x3F, 0x80, 0x00, 0x00, 0x01, 0xFE, 0x1F, 0x80, 0x00, 0x00, 0x01, 0xE2, 0x39, 0x8C, 0x00, 0x00, 0x00, 0xC2, 0x30, 0x08, 0x00, 0x00, 0x00, 0xC2, 0x60, 0x08, 0x00, 0x00, 0x00, 0xC3, 0xE0, 0x08, 0x60, 0x00, 0x00, 0x7F, 0xE0, 0x01, 0xE0, 0x00, 0x00, 0x3F, 0x80, 0x1F, 0xE0, 0x00, 0x00, 0x1E, 0x00, 0x1F, 0x80, 0x00, 0x00, 0x1E, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x02, 0x38, 0x1E, 0x00, 0x00, 0x00, 0x07, 0xFC, 0x1C,

0x00, 0x1F, 0x0C, 0x10, 0x00, 0x20, 0x00, 0x7C, 0x04, 0x10, 0x00, 0x60, 0x01, 0xF0, 0x00, 0x10, 0x00, 0x60, 0x01, 0xE0, 0x00, 0x08, 0x00, 0xF0, 0x00, 0x80, 0x00, 0x08, 0x03, 0xF0, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };

char tun48H[] =

{

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x40, 0x00, 0x00, 0x00, 0x06, 0x07, 0xC0, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x1F, 0xFC, 0x3C, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x0E, 0x00, 0x00, 0x00, 0x04, 0x70, 0x07, 0x00, 0x00, 0x00, 0x00, 0x60, 0x03, 0x80, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0x00, 0x01, 0x80, 0x00, 0x30, 0x00, 0x00, 0x01, 0x00, 0x3C, 0x18, 0x00, 0x00, 0x02, 0x03, 0xFF, 0x0C, 0x00, 0x00, 0x0C, 0x7F, 0xFF, 0x8E, 0x00, 0x00, 0x18, 0xFF, 0xFF, 0xC7, 0x80, 0x00, 0x78, 0xFE, 0x07, 0x87, 0xE0, 0x01, 0xF0, 0x70, 0x07, 0x03, 0xF8, 0x07, 0xE0, 0x70, 0x0E, 0x03, 0xFE, 0x00, 0x00, 0x38, 0x1E, 0x01, 0xFE, 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x0C, 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x00, 0x00,

篇二:计算机软件著作权登记-源代码范本

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

注意事项:常见的源代码包含:C语言,VB,C++,JAVA,.NET等。

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

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

二、源代码页眉应标注软件的名称和版本号,应当与申请表中名称完全一致,页

眉右上应标注页码,源代码每页不少于50行。

范例如下:

#include <tybs/commandline.h>

#include <tybs/dir.h>

#include <tybs/entropy.h>

#include <tybs/file.h>

#include <tybs/hash.h>

#include <tybs/os.h>

#include <tybs/platform.h>

#include <tybs/resource.h>

#include <tybs/stdio.h>

#include <tybs/string.h>

#include <tybs/task.h>

#include <tybs/timer.h>

#include <tybs/util.h>

#include <tybscc/result.h>

#include <dns/dispatch.h>

#include <dns/name.h>

#include <dns/result.h>

#include <dns/view.h>

#include <dst/result.h>

#define NS_MAIN 1

#include <named/ns_smf_globals.h>

#endif

#ifdef DLZ

#include <dlz/dlz_drivers.h>

#endif

static 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;

void

ns_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_WARNING, 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 void

assertion_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 void

library_fatal_error(const char *file, int line, const char *format,

va_list args) TYBS_FORMAT_PRINTF(3, 0);

static void

library_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 void

library_unexpected_error(const char *file, int line, const char *format, va_list args) TYBS_FORMAT_PRINTF(3, 0);

static void

library_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 void

lwresd_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 void

usage(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 void

save_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 int

parse_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 void

set_flags(const char *arg, struct flag_def *defs, unsigned int *ret) { for (;;) {

const struct flag_def *def;

const char *end = strchr(arg, ',');

篇三:源码授权使用保密协议

源代码授权使用保密协议

甲方: 普宁华侨医院

乙方: 根据我国《计算机软件保护条例》规定,计算机软件是指计算机程序及其有关文档,计算机程序包括源程序(source code)和目标程序。而源程序(又称源代码)是由一组数据所编写的一个程序,源代码(非自由软件)属于享有著作权的作品。

××系统软件是××××××公司(以下简称乙方)为普宁华侨医院(以下简称甲方)承建安装(或升级改造)项目。

乙方应合法获得××系统软件著作权人许可甲方使用××系统软件源代码使用权、复制权、修改权,一切非法和侵权的责任均由乙方承担,与甲方无关。 为了便于甲方更好的进行该系统软件维护工作,并考虑到今后的业务需求变更后,对该业务系统软件可能提出的修改、升级等要求,乙方把与该业务系统软件相关的源代码授权甲方使用、复制、修改,双方达成以下协议:

一、对软件源代码的相关约定

1、甲方向乙方购买××系统软件应用程序的使用权,乙方同时授权甲方使用、复制、修改××系统的软件源代码,该××系统的软件源代码的使用权、复制权、修改权应属甲方收权所有,乙方须无条件如实提供。

2、乙方授权提供给甲方的源代码,是现行××系统的软件应用程序部分, 乙方保证所提供的该业务系统软件源代码与该系统当前正在运行的软件程序是同一版本,利用所提供的源代码及相关资源可以直接编译生成当前系统的软件应用程序部分。

3、甲方于后续的信息系统建设与完善的过程中,如乙方按本协议要求,合

法、如实的提供给甲方已购买相关系统软件源代码使用权、复制权、修改权,那么在相近或同等条件下,甲方后续信息系统建设可优先考虑乙方。{或乙方可享有参与甲方后续信息系统建设的优先权。注:享有优先权的说法对一家公司适应,二家以上可能不利于甲方,建议修改}

4、于××系统的软件应用程序的质保期内、外或有偿服务期间,应用授权给甲方的源代码对甲方的相关系统进行修改、维护、升级、程序的二次开发等,每次的修改、维护、升级、程序的二次开发等所衍生的相关程序及源代码(包括与衍生源代码一起提供给甲方的附属文档、数据资料和其他程序),乙方应无损、如实备份给甲方,甲乙双方须书面确认,作为甲方合法拥有(使用)的法律依据。

5、合同或协议款项的支付:甲方对所购买的有关信息网络系统或信息网络系统集成升级改造等项目,须于项目完成验收并收到(授权)校验无误的该项目系统软件源代码才支付该合同或协议款项,质保金仍按该合同或协议条款执行。

二、用途及保密约定

乙方授权甲方使用源代码的方式仅限于对甲方现行系统的程序进行修改、维护、升级、程序的二次开发等之用途, 甲方有义务对源代码进行保密,在任何情况下,未经乙方同意,甲方不得将此初始源代码和所衍生的相关程序、源代码提供给任何第三方;甲方应限制有关初始源代码和所衍生的相关程序、源代码的具体使用范围,使之仅限于甲方现行系统的维护、修改、升级等系统开发用途,即仅为甲方授权管理人员所了解和使用,不应在同行业其他项目中使用,不得用于其他用途。

三、权限归属和责任约定

1、乙方拥有××系统全部初始源代码的许可使用权限。

2、甲方可以根据乙方授权对初始源代码进行改变,由此衍生的有关程序及

源代码的知识产权由双方共同拥有。乙方有义务向甲方提供对源代码及其相关资讯的技术支持和培训。

3、对于授权使用初始源代码修改程序后所引起的故障和损失,经监定,如果是初始程序内BUG(漏洞)引起的,乙方承担相应的责任和损失,并负责修复BUG所引起的故障和承担相应损失;质保期内、外乙方均对初始程序内BUG负有修正维护等所有必要的售后服务责任。如果是由于甲方的不当修改造成,甲方承担相应的责任和损失。

四、生效条件与协议终止

1、本协议一旦签署,立即生效; 并将长期有效。

2、协议终止条件,以下条件之一成立即终止:

(1)、双方另有协议,并一致同意废止此协议;

(2)、甲方不再使用现行系统;

(3)、甲方主动提出终止此协议;

(4)、由于甲方过错导致系统源代码泄密,乙方有权解除此协议,并按本协议约定的违约责任赔偿。

(5)、符合《计算机软件保护条例》中第十四条“软件著作权自软件开发完成之日起产生。自然人的软件著作权,保护期为自然人终生及其死亡后50年,截止于自然人死亡后第50年的12月31日;软件是合作开发的,截止于最后死亡的自然人死亡后第50年的12月31日。法人或者其他组织的软件著作权,保护期为50年,截止于软件首次发表后第50年的12月31日,但软件自开发完成之日起50年内未发表的,本条例不再保护。”规定的,本协议自动终止。

协议终止时,甲方有责任向乙方提交或立即销毁所持有、保管的该业务系统初始源代码信息的文档、光盘及相关资料介质,但不包含(1)甲方所购买使用

的系统软件程序;(2)由甲方应用该业务系统的初始源代码开发的后续版本所属的衍生源代码文档、光盘及相关资料介质;(3)本协议第四条第(5)项的条款。同时向乙方提供书面确认,作为法律上认可的凭据。

五、违约责任

甲乙双方如果违反本协议中的任何约定条款,违约方均应承担对非违约方的赔偿责任,方式为向非违约方支付该业务系统软件的初始价值万分之一的违约金。

六、争议解决条款

在履行本协议中出现任何争议,双方均应首先友好协商解决,协商没有结果的,双方应当将争议提供有仲裁资质的机构仲裁解决。仲裁机构解决争议应当适用中国现行法律。甲乙双方也均有权向所在地司法机关提起上诉。

七、其他约定

本协议一式三份,甲方执二份,乙方执一份,具有同等的法律效力。本协议补充文件、传真件与原件具有同等法律效力。

甲方: 乙方:

单位名称(章) :普宁华侨医院 单位名称(章):

单位地址: 广东省普宁市流沙玉华路 单位地址:

法定代表人(或委托代理人): 法定代表人(或委托代理人): 电话:0663-2223392 电话:

传真: 0663-2223392 传真:

签订日期: 年 月 日

本文来源:https://www.bwwdw.com/article/srfb.html

Top