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

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

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

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


当前回答

定义一个新的视图使用原始查询作为基础,而不指定日期参数。

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

其他回答

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.

把那家伙的名字贴出来,这样我们都知道他是个混蛋。不用说,这不是法律建议,但如果你与这个人签约,他所做的任何事情都可能是“受雇工作”,因此归你所有。我认为他甚至不太可能试图采取法律行动。

如果编写程序的开发人员对自己的产品有信心,他可能会在没有这些限制的情况下发布它,并让他的工作接受同行的审查。二流开发者可能会高估自己的作品,并撰写这样的版权声明。

他说你可以得到书面许可。你为什么不写信告诉他你在修改他的代码而不是问他呢?证明你的行为,看看他是否会挑战你。

首先,你需要查阅你当初雇佣那个人时起草的合同。

这份合同要么规定,要么没有规定谁拥有代码。

然后,你拿着这份合同,雇一个律师来检查它,然后他(或她)会告诉你你是否有根据,你有什么选择。

这里没人是律师,所以你在这里得不到任何法律建议。即使这里有人是律师,这个人也不会在这里回答任何你可以依赖的东西,因为如果你在一个程序员问答网站上从一个律师那里得到法律建议,那么这个律师的职业生涯很可能会很短,所以只有愚蠢的律师才会这么做。

所以你在这里得到的是意见。如果你想要可靠的法律建议,请律师。

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

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