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

所以为了做这个输出,我们必须雇佣一个了解我们学生管理系统内部运作的人。他写了一个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并在运行它之前执行s/2009/$this_year/。瞧,你什么都没改变……

棘手的解决方法:假设您不能合法地更改查询,而是更改数据。创建数据库的副本,更新年份并使用2009查询导出数据。无论如何,至少在我的国家,对于版权所涵盖的内容有一个较低的门槛。一个简单的查询“select foo,bar,bla,blub from foobar order by foo,bar”肯定是不合格的。

请其他人为您重写查询(或者自己重写),并且永远不要再使用他的代码。

你不用用他的密码。

你付他钱是为了服务,不是为了代码。事实上,他把他的代码的源代码留给了你,不允许你使用它。即使是他创造的单字符,他也没有出售版权,也没有授权你使用它。

如果你想省钱,删除他的查询,从头开始写你自己的查询,或者只是让他知道你要这么做,并提出以500美元的价格购买他的查询。他很可能会这么做,因为这是他最后一次捞钱的机会。

我认为你需要看的不是代码,而是写代码的人所依据的合同。通常在任何类型的编程活动中,项目的源代码/目标代码的所有权都有明确的指示。

如果原来的合同里没有,我会确保这份合同里有。