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

所以为了做这个输出,我们必须雇佣一个了解我们学生管理系统内部运作的人。他写了一个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美元,那他根本就没钱请律师。最后,他必须证明你使用了他的代码——他要怎么做呢?

@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小时拿工资。但如果有人一年给你打一次电话,光是行政方面的事就得花上一两个小时。

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

看看你和那家伙的公司的合同。它可能已经说你拥有他们编写的任何代码。