我在一个学区工作。每年我们都必须从学生管理系统中导出一份学生名单,并将其发送给处理我们在线考试的公司。

所以为了做这个输出,我们必须雇佣一个了解我们学生管理系统内部运作的人。他写了一个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查询绝对可以受版权保护。然而,版权法只有在你打算分发源代码(即复制)时才适用。鉴于顾问提供了源代码的副本,而您没有将其传输给其他人,版权法不适用。

你和这个顾问之间的协议完全是另一回事。检查合同是否授予您永久使用代码的许可。或者,在你明年雇佣他之前,让他修改协议(和源代码注释)。如果有疑问,请咨询真正的律师。

免责声明:我不是律师。

其他回答

换一个参数就花500美元?! 如果你熟悉一个SQL,你应该重新实现它,或者如果你不熟悉SQL,你应该再雇佣一个人,让他做一个文档。在此之后,您可以使用ETL工具并自行构建导出。你可能想试试SSIS。这是它的完美用例。

它是一个SQL查询,这是一个转移注意力的事实。它是源代码和知识产权,就像它被编译成可执行文件一样。正如其他人已经说过的,对您使用该软件的任何限制主要取决于您的协议条款。

我注意到他的评论是这样说的:

// This code MAY NOT BE USED without the expressed written consent of 

这并不是说要修改它,而且如果你修改了它,你也可以争辩说你没有使用他的代码。

是的,SQL查询可以受版权保护。

你真正需要问的问题是——他是否真的拥有版权,或者他只是说他拥有。这取决于编写查询所依据的契约的条款。

编辑: 我想修改一下我的回答——你可以随心所欲地处理它(我不是律师!),只要不涉及奇怪的合同。

案例1:他把.sql文件作为“程序”卖给了你——.sql文件本身就是程序,你可以随心所欲地修改它——同样,如果你买了任何应用程序,你可以用十六进制编辑器打开它,并更改位。没有EULA禁止这样做。

案例2:他把.sql文件作为源代码卖给了你——他把源代码卖给了你,这意味着源代码是你从他那里买的东西,你可以修改它,就像修改你买的东西一样。

人们太沉迷于你可以“查看一个。sql文件的源”这一事实——它要么是一个程序,要么是一个源文件,这取决于合同,无论哪种方式你都可以修改它。版权保护人们不受未经授权的传播,而不是为内部使用而修改。

检查Aharonian诉Gonzales案。

基本上,您不能复制应用程序的源代码,但您可以创建功能相似的应用程序,只要不侵犯源代码本身的版权。

实际上,您可以重新创建SQL查询,但不能直接复制它们。

不过,如果你还有其他顾虑,可以找律师谈谈。

他可以在文件中写任何东西,但如果是“雇佣工作”,它就属于你。所有这些代码都是基于此,除非他有其他特定的合同。

在任何情况下,都没有理由不自己重写。如果你不用他的代码,他怎么能抱怨呢?实际上,在任何情况下都没有法院会认真对待这一点,但从技术上讲,由于这两点,你也应该没问题。更不用说他不能强迫你展示你所拥有的代码。