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

所以为了做这个输出,我们必须雇佣一个了解我们学生管理系统内部运作的人。他写了一个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”。)

所以现在我老板担心我们侵犯了版权。那家伙会发现是我自己更新了查询因为我们今年还没有要求他更新并采取法律行动。

回到刚才的问题: 他真的能获得这个问题的版权吗? 如果是的话,我们自己修改是不是侵犯了版权? 在我看来,单个查询不是程序代码。它更像是一个命令行命令。但我不知道这在法律上是怎么考虑的。


当前回答

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

其他回答

威胁说要“点名羞辱”他,除非他给你书面许可,让你按照你认为合适的方式修改文件。

做这种不道德事情的底层员工给自由软件开发人员带来了坏名声。他不配得到工作……国际海事组织。

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

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

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

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

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

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

我是一名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 :)

是的,我也不是律师,但当涉及到这样的事情时,我的道德准则是指导我的。

从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是有版权的。

考虑到这一点,您肯定希望采纳其他答案之一的建议,要么用没有如此繁重许可的代码替换代码,要么让您的承包者对查询进行参数化。如果他拒绝,毫不犹豫地解雇他。

以SQL文件为例,将其更改20%。添加格式,添加别名等等。如果它改变了20%即使他想上法庭也没有法官会说它是一样的。这不是版权,所以不用担心。

如果他在家里用自己的工具写代码,那么他就可以争取权利。如果他在开发SQL查询时使用了任何学校的材料,那么这就是学校的权利。

我在工作中一直在处理这些垃圾,因为我有一份全职的编程工作。