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

所以为了做这个输出,我们必须雇佣一个了解我们学生管理系统内部运作的人。他写了一个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美元在某种艺术项目上至少能达到一点效果。

希望一切顺利!

其他回答

找一个从未见过勒索者代码的人来检查表结构,并以干净的方式派生一个等价的查询。

为什么不直接打电话问他发生了什么事?这可能是他代码中的样板注释,他可能根本不在乎。如果他真的在乎,那可能更多的是发布他的代码,而不是使用它。而且,如果他这么担心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小时拿工资。但如果有人一年给你打一次电话,光是行政方面的事就得花上一两个小时。

在这里,您的众多选择之一是创建一个黑匣子替代品。这听起来像是一个很容易理解的问题,您可以为它编写一个简短的需求文档。我建议您包含参数化变量选项的选项,例如所讨论的年份(!)。

更重要的是,我建议在替换代码中避免SQL注入和类似的攻击。在我看来,如果有人创造了这样的摇钱树,他们完全专注于榨取你的钱,而不是生产你真正需要的高质量一次性解决方案。

鉴于你的需求文档,你的建议,你有一个高质量的数据库管理系统,这样你就不会被“黑客”,你应该在一个坚实的位置写一个功能替换。

你可以获得源代码的版权。

但是(通常)版权属于为源代码付费的人,除非在工作合同中有不同的规定。

学校系统也(通常)有权修改源代码。他们付给顾问的500美元是为了奖励他的时间和努力。

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

你不用用他的密码。