我在一个学区工作.每年我们都必须从学生管理系统中导出学生名单,然后将其发送给处理我们在线考试的公司.
所以要做这个出口,我们必须雇用一个知道我们学生管理系统内部运作的人.他编写了一个sql(Adaptive Sybase SQL Anywhere)查询,将学生导出到我们需要的csv文件中.这是在我开始为区工作之前,所以有一段时间我认为这是一个实际的应用程序,直到我自己进行导出的时候.
每年他都会向我们收取500美元的费用来更新这个查询,以便为当年的学生出口.所以当我发现它只是一个查询(.bat文件和.sql文件)时,我的想法是"我可以自己更新".我所要做的就是改变查询中的年份(例如2009年到2010年).
查询(.sql文件)本身在顶部有这个注释:
// This code was writtend by [the guy]
// and is the property of [his company]...Copyright 2005,2006,2008,2009
// This code MAY NOT BE USED without the expressed written consent of
// [his company].
Run Code Online (Sandbox Code Playgroud)
(是的,它确实说"写".)
所以现在我的老板担心我们侵犯了版权.那家伙会发现我自己更新了查询,因为我们今年没有让他更新它并采取法律行动.
回到主题的问题:他真的可以对此查询进行版权保护吗?如果是这样,我们自己修改了侵犯版权的行为吗?在我看来,单个查询不是程序代码.它更像是命令行命令.但我不知道它在法律上是什么.
rjm*_*nro 222
如果我是你,我会写一个查询需要做的完整描述,包括所有的表,字段名等,并在此处发布.这里的某个人一定能够编写一个新版本的查询,而这个版本不是开发人员的版权,您可以每年编辑它以满足您的内容.
Nei*_*l N 139
收费500美元改变2009年至2010年?哦,男人真是个骗子.
今年给他500美元,并告诉他你想要查询以学年作为参数.看看他如何回应知道这将是他最后一次为你工作.
Jer*_*fin 59
首先,标准免责声明:我不是律师,所以不要把我说的任何法律建议.
我在下面所说的是关于美国的法律 - 在其他国家,它可能会有所不同,但是由于"伯尔尼公约",许多国家的版权法相当统一.
版权可以涵盖创意,书面作品,我会说SQL查询可以/确实属于该范围.
与此同时,除非他与学校签订的合同写得非常奇怪,否则他会将此作为出租作品.在这种情况下,他的版权主张可能是一种彻头彻尾的谎言 - 当作品是为雇用而写的时候,雇主而不是作者拥有版权.
关于雇佣工作的构成似乎存在争议.根据美国法律(17 USC,§101):
A “work made for hire” is— (1) a work prepared by an employee within the scope of his or her employment; or (2) a work specially ordered or commissioned for use as a contribution to a collective work, as a part of a motion picture or other audiovisual work, as a translation, as a supplementary work, as a compilation, as an instructional text, as a test, as answer material for a test, or as an atlas, if the parties expressly agree in a written instrument signed by them that the work shall be considered a work made for hire.
由于此查询似乎属于"(1)"的范围,因此即使没有明确同意这一点,它也可以作为雇用的工作.在可能的例外是,如果他的合同的书面所以排除属于其工作范围内,以书面查询.
唯一真正值得怀疑的部分是他是否有资格成为一名员工.就顾问而言,这可能是一个难以回答的问题.基本上,如果他完全独立工作,并且只是提供最终结果,那么他可能不是.如果他像普通员工一样工作,并且他们可以控制他的日程安排等事情,那么他很有可能成为一名临时员工.
Bar*_*ttJ 58
是的,SQL查询可以受版权保护.
你真正需要问的问题是 - 他是否真的拥有版权,或者他只是说他做了.这取决于编写查询的合同条款.
编辑:我想修改我的答案 - 你可以用它做你想做的事(我不是律师!),只要没有涉及奇怪的合同.
案例1:他将.sql文件作为"程序"出售 - .sql文件本身就是程序,您可以随意修改它 - 如果您购买任何应用程序,可以使用十六进制编辑器打开它改变一下.没有EULA禁止这样做.
案例2:他卖给你.sql文件作为源代码 - 他卖给你的来源意味着源是你从他那里买来的,你可以修改它,因为你只是修改你买的东西.
人们越来越关注你可以"查看.sql文件的来源" - 它既可以是程序,也可以是源文件,具体取决于合同,无论哪种方式都可以修改它.版权保护人们免受未经授权的分发,而不是内部使用的修改
pmf*_*pmf 52
找一个从未见过敲诈者代码的人来检查表结构并以洁净室方式派生出一个等价的查询.
Jus*_*ner 23
和往常一样,如果你真的担心它,那就请律师.我们是开发人员.
如果我看到类似的东西并且查询不是太复杂,我会自己重新编写它(可能使用他的查询严格来计算数据库模式,但就是这样).
那时,你要更新你的工作......不是别人的.
至于他的询问......如果在工作时没有签订任何合同,我认为执行版权会有点不稳定.
Pur*_*lot 20
实际上我对这个问题的一些态度感到有些惊讶.程序员最初被引入,因为没有其他人可以解决问题.解决方案可能或者可能不容易,但没有其他人可以做到这一点,他可以做到.
然后他每年都会被召回来进行维护.虽然改变年份并不完全是火箭科学,也许其他人会提出他没有被要求的参数(我假设).为了论证的缘故,有人写了一个他不遵守的程序规范吗?或者有人对他说'只是解决它.多少?$ 500〜很酷,快点.哦,明年再来,请保持它"?
这里的大部分愤怒似乎都围绕着他解决的问题的简单性,但肯定不是重点吗?他解决了实际问题,确保每年都运行并得到一致同意的补偿.我的数学很糟糕,但我怀疑有些人可以编写应用程序来进行快速傅立叶变换,而不会出汗.但是因为他们觉得很容易,他们收取很少或没有钱来"解决问题".
关于版权的观点.好吧,这里的很多帖子都以"我不是律师"开头.不,我不怀疑是原来的程序员.他(火腿)试图保护自己,我同意其他人认为它不值得写在纸上,或者所需要的只是在不查看或使用代码的情况下重写ot,或者其他一些建议在这里.没有锤击一些人谋生.
好的,所以请记住我现在的反对意见.
Dou*_*ner 16
我不是律师,但据我所知:
除非您以书面形式明确表达"雇用工作"协议,或者可以证明存在"雇用工作"的相互理解,否则他将有权限制该代码的使用.
"雇佣工作"基本上是指个人在"雇用工作"安排下创造的任何东西,都是雇用他们的人的财产.如果没有这样的协议,创建的新作品将自动受到撰写个人版权的个人版权.我相信员工(不是分包商)创造的任何工作都会自动被视为"雇佣工作".
当然你不能对版权的想法,只有这些想法的具体表达.
Rob*_*son 12
似乎没有人认识到版权处理复制这一事实.如果OP既不复制也不分发,版权在这种情况下似乎并不适用.
即学校未经许可不得作为自己的作品出版或出售(也许).在这种情况下,您需要咨询您的律师.
无论如何,OP都同意运行在特定文件中运行某些sql的程序.我认为OP没有绕过程序员实施的任何防篡改控制.
sql是程序的一部分(尽管可以雇用),它只是文件中的文本.现在可能的情况是,在未经程序员明确同意的情况下修改与程序相关的任何/所有文件可能会使任何保证失效,但这确实是关于它的.
500美元,没有人会起诉你.你知道律师的费用吗?但如果您取消原始程序员的任何支持,请不要感到惊讶.在那里公平警告.
当所有的事情都说完了,如果所有人都以500美元的价格完成,那么需要花费2分钟的时间来改变它.但你确定他正在做的一切吗?以正常的咨询费用率工作半天工作500美元并非不切实际.
Ben*_*esh 10
基本上,您不能复制应用程序的源代码,但只要不侵犯源代码本身的版权,您就可以创建功能相似的应用程序.
实质上,您可以重新创建SQL查询,但不能直接复制它们.
如果您有其他疑虑,请与律师联系.
它是一个SQL查询的事实是一个红色的鲱鱼.它是源代码和知识产权,就像编译成可执行文件一样.正如其他人已经说过的,对您使用软件的任何限制主要取决于您的协议条款.
我会观察他的评论说:
// This code MAY NOT BE USED without the expressed written consent of
Run Code Online (Sandbox Code Playgroud)
其中没有提到修改它,如果你修改它,那么你也可以争辩说你没有使用他的代码.
使用原始查询作为基础定义新视图,而不指定日期参数,例如
create or replace view MY_VIEW as
select STUDENT_NAME, STUDENT_NO, CLASS_YEAR
from STUDENT_TABLE
where STUDENT_CLASS = 10
Run Code Online (Sandbox Code Playgroud)
编写新查询以从应用日期参数的视图中进行选择,例如
set DATE_PARM = '2009';
select STUDENT_NAME, STUDENT_NO, CLASS_YEAR
from MY_VIEW
where CLASS_YEAR = %DATE_PARM
Run Code Online (Sandbox Code Playgroud)
在律师的信上花500美元
如果你重复使用他的代码,我的2便士最多可以让你留下他的名字(这很常见,不是吗?