我在一个学区工作。每年我们都必须从学生管理系统中导出一份学生名单,并将其发送给处理我们在线考试的公司。
所以为了做这个输出,我们必须雇佣一个了解我们学生管理系统内部运作的人。他写了一个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].
(是的,上面确实写着“writtend”。)
所以现在我老板担心我们侵犯了版权。那家伙会发现是我自己更新了查询因为我们今年还没有要求他更新并采取法律行动。
回到刚才的问题:
他真的能获得这个问题的版权吗?
如果是的话,我们自己修改是不是侵犯了版权?
在我看来,单个查询不是程序代码。它更像是一个命令行命令。但我不知道这在法律上是怎么考虑的。
首先,标准的免责声明:我不是律师,所以不要把我说的任何话当作法律建议。
我下面要说的是关于美国的法律——其他国家的法律可能会有所不同,尽管由于《伯尔尼公约》,许多国家的版权法是相当统一的。
版权可以涵盖创造性的书面作品,我想说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)”的范围,因此即使没有明确的协议,它也可以被视为有偿制作的作品。可能的例外情况是,如果他的合同是书面的,那么就排除了在他的雇佣范围内编写询问。
唯一值得商榷的是他是否有资格成为一名雇员。对于咨询师来说,这可能是一个很难回答的问题。基本上,如果他是完全独立的工作,只是交付一个最终结果,那么他可能不是。如果他像普通员工一样工作,他们可以控制他的日程之类的事情,那么他很有可能只是一个临时员工。
是的,SQL查询可以受版权保护。
你真正需要问的问题是——他是否真的拥有版权,或者他只是说他拥有。这取决于编写查询所依据的契约的条款。
编辑:
我想修改一下我的回答——你可以随心所欲地处理它(我不是律师!),只要不涉及奇怪的合同。
案例1:他把.sql文件作为“程序”卖给了你——.sql文件本身就是程序,你可以随心所欲地修改它——同样,如果你买了任何应用程序,你可以用十六进制编辑器打开它,并更改位。没有EULA禁止这样做。
案例2:他把.sql文件作为源代码卖给了你——他把源代码卖给了你,这意味着源代码是你从他那里买的东西,你可以修改它,就像修改你买的东西一样。
人们太沉迷于你可以“查看一个。sql文件的源”这一事实——它要么是一个程序,要么是一个源文件,这取决于合同,无论哪种方式你都可以修改它。版权保护人们不受未经授权的传播,而不是为内部使用而修改。
我不是律师。
你仍然可以编写自己的NEW
这基本上可以归结为原始合同,如果它明确表示工作是“雇佣的”:
来自美国版权局的指南:
链接文本
“版权保护从作品创作之日起就存在
固定形式。著作权:作者作品中的版权
立即成为作者的财产
这项工作。只有作者或那些获得他们权利的人
通过作者可以正当地主张版权。
如属供租工程,属雇主而非雇主
雇员被认为是作者。第101条
版权法将“雇佣作品”定义为:
由雇员在其工作范围内准备的工作
她的就业;或
特别订购或委托使用的作品:
贡献:对集体工作的贡献
片段:电影或其他视听作品的一部分
一个翻译
补充工作
一个编译
教学文本
一个测试
回答考试材料
地图册
当事人以书面形式明确约定的
由他们签署,该作品将被视为作品
被雇佣的。
"
你从没说过你在哪,所以我们给你的任何建议都没用。不同的司法管辖区有不同的法律。
如果你在美国,打电话给你当地的律师协会,要求推荐一个从事软件版权工作的人,相信那个人告诉你的,而不是你在SO上读到的任何东西。如果你在另一个国家,找出相应的。
作为一名美国公民,而不是任何类型的律师,有几件事需要考虑。
你从没告诉过我们这个问题有多复杂。我们不可能为某些内容的唯一合理实现获得版权。如果它很简单,那就用简单的方式重写。如果它很复杂,则查询可能不是严格意义上的功能性查询,并且其中无疑存在一些创造性。在这种情况下,你应该用一种不同的方式重写它,或者雇一个人。
您应该能够找到比继续支付500美元/年更便宜的人来重写查询,并且应该不难找到比原始开发人员更有道德的人。
事实上,我对一些人对这个问题的态度感到惊讶。一开始是因为没有人能解决这个问题,所以才请了这个程序员。解决办法可能容易,也可能不容易,但没有人能做到,而他能做到,而且做到了。
然后他每年都会被叫回来做维护。虽然改变年份并不完全是火箭科学,也许其他人会提出参数,但他没有被要求(我猜)。是否有人为了争论而为程序员写了一个他没有遵守的规范?或者有人对他说‘把它修好吧。多少钱?500美元?酷,快点。哦,请明年回来保养一下。”
这里的愤怒似乎主要是围绕着他解决的问题的简单性,但这肯定不是重点?他解决了实际问题,确保每年都运行,并获得了商定的报酬。我的数学很糟糕,但我怀疑有人可以编写应用程序来进行快速的傅里叶变换,而不费力。而是因为他们发现,如果他们为“解决问题”收取很少的费用或不收取费用,这很容易。
关于版权的问题。好吧,这里的许多帖子都以“我不是律师”开头。没有,我怀疑这两个人都不是最初的程序员。他(笨手笨脚地)试图保护自己,我同意其他人的看法,要么它不值它所写的那张纸,要么它所需要的只是在不查看或使用代码的情况下重写它,或者这里的一些其他建议。而不是为了生计去打击别人。
好吧,现在把我的异议记下来。
似乎没有人意识到版权与复制有关。如果OP既不是复制也不是分发,版权在这种情况下似乎并不适用。
即,未经许可,学院不得出版或作为自己的作品出售(可能)。在这种情况下你最好咨询一下你的律师。
在任何情况下,OP都同意运行运行特定文件中某些sql的程序。我假设OP没有绕过程序员设置的任何反篡改控制。
sql是程序的一部分(尽管是雇佣的工作),只是文件中的文本。现在,在没有得到程序员明确同意的情况下修改与程序相关的任何/所有文件可能会使任何保证失效,但事实就是这样。
就给你500块,没人会起诉你。你知道请律师要花多少钱吗?但如果您取消了原程序员的任何支持,也不要感到惊讶。警告一下。
话说回来,如果这家伙为了500美元只做了2分钟的改变,那就有点鲁莽了。但你确定他只是在做这个吗?500美元半天的工作,正常的咨询收费费率是不现实的。
定义一个新的视图使用原始查询作为基础,而不指定日期参数。
create or replace view MY_VIEW as
select STUDENT_NAME, STUDENT_NO, CLASS_YEAR
from STUDENT_TABLE
where STUDENT_CLASS = 10
写一个新的查询从视图中选择应用日期参数,例如。
set DATE_PARM = '2009';
select STUDENT_NAME, STUDENT_NO, CLASS_YEAR
from MY_VIEW
where CLASS_YEAR = %DATE_PARM
为什么不直接打电话问他发生了什么事?这可能是他代码中的样板注释,他可能根本不在乎。如果他真的在乎,那可能更多的是发布他的代码,而不是使用它。而且,如果他这么担心500美元,那他根本就没钱请律师。最后,他必须证明你使用了他的代码——他要怎么做呢?
@PurplePilot PurplePilot makes a good point. If I haven't heard from a client in a year, chances are it'll take me 30 minutes just to pull up my old notes, passwords, etc and refresh my memory as far as what is going on. Then, assuming the single-click button still worked, I would probably at least want to do some spot checking. Then you have to send it off to the person (who knows if it is even the same person this year - you might have to explain to them what to do with the file). Then you have to generate an invoice if you plan on getting paid.
基本上,如果你以咨询为生,你不会一天8小时拿工资。但如果有人一年给你打一次电话,光是行政方面的事就得花上一两个小时。
从copyright.gov:
Copyrightable works include the following categories:
literary works
musical works, including any accompanying words
dramatic works, including any accompanying music
pantomimes and choreographic works
pictorial, graphic, and sculptural works
motion pictures and other audiovisual works
sound recordings
architectural works
These categories should be viewed broadly. For example, computer programs and most "compilations" may be registered as "literary works"; maps and architectural plans may be registered as "pictorial, graphic, and sculptural works."
更具体地说,你的问题:
Several categories of material are generally not eligible for federal copyright protection. These include among others:
Works that have not been fixed in a tangible form of expression (for example, choreographic works that have not been notated or recorded, or improvisational speeches or performances that have not been written or recorded)
Titles, names, short phrases, and slogans; familiar symbols or designs; mere variations of typographic ornamentation, lettering, or coloring; mere listings of ingredients or contents
Ideas, procedures, methods, systems, processes, concepts, principles, discoveries, or devices, as distinguished from a description, explanation, or illustration
Works consisting entirely of information that is common property and containing no original authorship (for example: standard calendars, height and weight charts, tape measures and rulers, and lists or tables taken from public documents or other common sources)
IANAL,但是我在列表中没有看到任何使SQL查询不符合版权保护资格的内容,而用图灵完备语言编写的程序则被认为是可受版权保护的。我倾向于说,SQL是有版权的。
考虑到这一点,您肯定希望采纳其他答案之一的建议,要么用没有如此繁重许可的代码替换代码,要么让您的承包者对查询进行参数化。如果他拒绝,毫不犹豫地解雇他。
以下是我对法律方面的看法....
你需要在软件交付的第一时间查看合同情况,并确定谁是知识产权的所有者(如果我误解了“雇佣”这个术语,请原谅:
1)
这个人是根据临时或无限雇佣合同受雇于你的公司。雇佣合同通常包含一个条款,说明这个家伙在雇佣期间创造的所有知识产权仍然是你公司的财产——好案例
2)
你从他的公司购买了一次性定制服务。知识产权是你的——好例子
3)
你购买了一个软件的使用权,它仍然是他的知识产权,你无权更改代码-坏情况
来确定2..3适用,查看他发送的发票加上你或他强加的任何条款和条件。
另一个问题是,合同情况是否仍在进行中,即这个人是否有责任随着时间的推移维护代码,或确保代码正常工作,或者他是否必须满足代码的任何SLA。在这种情况下,他要求的费用被纠正(我不想在这里评论价格价值)。
我是一名DBA,使用过许多带有罐装SQL代码的第三方应用程序,我从未见过SQL语句附加这样的东西。如果你可以直接访问数据库并从中查询数据,那就重写代码,不要再给那个人一秒钟的时间,因为这样一个500美元的单进程似乎是一种敲敲敲敲。
But without seeing the code there's no telling how involved it is. I've written some SQL statements that go into hundreds of lines to get data, and they can take DAYS or even WEEKS to write and debug. If this guy invested that kind of time into the process and you're paying $500 per run, it may be worth it ... but if it's just a strait forward Select statement that's no more then a dozen or so lines long, that is not worth $500 and can be written by you or someone else with a basic understanding of SQL. Even if it looks similar to his, honestly sometimes there's only so many ways to write something. "The dog is blue"... how many ways can you say it? Not many :)
是的,我也不是律师,但当涉及到这样的事情时,我的道德准则是指导我的。
我不是律师,等等等等……
以下内容来自www.copyright.gov:
“版权保护不适用于思想、程序
逻辑、算法、系统、方法、概念或布局。”
如果您从他的.bat文件中提取SQL代码,那么它很可能属于“程序逻辑”的类别。他可能会争辩说他的简单的.bat文件是一个“程序”,但如果归结到这一点上,他很可能会失去这个论点。
此外(更重要的是),你必须向政府提交文件才能获得计算机程序的版权。我非常怀疑他每年都这样做(任何计划的改变都需要重新申请和不可退还的费用)。
最后,如果这个家伙为了他每年500美元的收入而受到如此大的伤害,那么我怀疑他有没有钱请律师来打官司。你自己做,如果他真的发现了,并提出了臭味(我怀疑他会),然后让他咆哮和咆哮。不要解释自己,不要卷入争论。只要说你对他说的话不感兴趣,然后“祝你今天愉快”。他很可能会怒气冲冲地离开,从此杳无音讯。
再说一次,这不是法律建议,我不是律师,我从来没有在电视上扮演过律师。
any content can be copywrited, including SQL procs, which methods may be considered a trade-secret. SQL procs can be a component of an entire application which most all are copywrited, unless the are released to the public as freeware, open source or with a GPL. If you feel uneasy about infringing on the SQL proc you mentioned, all you have to do is slightly modify the SQL proc by using an alternative statement or add a dummy part to it which has no effect on the desired result. In the chemical products industry, for example: a cleaning product made by ECOLAB, whose mixture of active and inactive chemical ingridients is patented, has been imitated by several other competitors who sell basically the same product for much less. The way the got around infringing on ECOLAB's patent is to modify the content of one or more chemical ingridients by 1%. So, using this as an analogy, you can do the same to the copywrited SQL proc.