有人可以版权SQL查询?

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

所以要做这个出口,我们不得不雇用一个知道我们学生pipe理系统内部工作的人。 他编写了一个sql(自适应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]. 

(是的,它真的说“写作”。)

所以,现在我的老板担心我们侵犯了版权。 而且这个人会发现我自己更新了这个问题,因为我们没有要求他在今年更新并采取法律行动。

所以回到主题的问题:他真的可以版权这个查询? 如果是的话,是自己修改版权侵犯? 在我看来,单个查询不是程序代码。 这更多的是一个命令行命令。 但我不知道这是合法的。

如果我是你,我会写一个查询需要做什么的完整描述,包括所有的表,字段名等,并在这里发表。 这里的某个人一定能够编写一个新版本的查询,这个版本不是你的开发者的版权,每年你都可以编辑它的内容。

他收费500美元,以改变2009年至2010年? 哦,男人什么撕裂。

今年给他500美元,并告诉他你想要查询以学年为参数。 看看他如何反应,知道这将是他最后一次为你工作。

首先,标准免责声明:我不是律师,所以不要拿任何我说的法律build议。

我在下面说的是关于美国的法律 – 在其他国家它可能会有所不同,但是由于“伯尔尼公约”,版权法在许多国家是相当统一的。

版权可以涵盖创意,书面作品,我会说一个SQL查询可以/确实落入这个范围内。

同时,除非他与学校签订的合同写得很奇怪,否则他把这个作为招聘工作写给他们。 在这种情况下,他的版权主张很可能是一种纯粹的谎言 – 当一份作品是为了聘用而编写的时,作者而不是作者拥有版权。

似乎有什么构成雇佣工作的争议。 根据美国法律(17 USC,§101):

  “雇用的工作”是─

   (1)雇员在其工作范围内准备的工作;

  要么

   (2)专门订购或委托作为捐赠的工作
  集体作品,作为电影或其他视听作品的一部分,
  作为翻译,作为补充工作,作为汇编,作为一个
  教学文本,作为testing,作为testing的答案材料,或作为一个testing
  地图集,如果双方明确同意用书面文书签署
  他们认为这项工作应被视为是雇用的工作。 

由于这个查询似乎属于“(1)”的范围,所以即使没有明确的同意,它也可以作为招聘的工作。 可能的例外情况是,如果他的合同是书面的,所以不包括写在他的雇用范围内的查询。

唯一真正值得质疑的部分是他是否符合雇员条件。 就咨询人而言,这可能是一个难以回答的问题。 基本上,如果他的工作是完全独立的,只是提供了最终的结果,那么他可能不是。 如果他像一个普通员工一样工作,并且能够控制他的日程表等事情,那么他很有可能只是一名临时员工。

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

你真正需要问的问题是 – 他是否拥有版权,还是他只是说他是。 这将取决于查询所写的合同条款。

编辑:我想修改我的答案 – 只要没有涉及到奇怪的合同,你可以用它来做你想要的(我不是律师!)。

情况1:他将.sql文件作为“程序”销售给您 – .sql文件本身就是程序,您可以根据需要对其进行修改 – 如果您购买的任何应用程序都可以使用hex编辑器打开,改变周围的位。 没有EULA禁止这个。

情况2:他把.sql文件作为源代码卖给了你 – 他把你的源代码卖给了你,这意味着源代码是你从他那里购买的,而且你可以修改它,因为你只是修改你买的东西。

人们越来越习惯于可以“查看.sql文件的来源” – 它可以是程序,也可以是源文件,具体取决于合同,也可以修改。 版权保护人们免受未经授权的分发,而不是修改为内部使用。

find一个从来没有见过敲诈者代码的人来检查表结构,并以洁净室的方式派生出一个相同的查询。

根据美国版权法,第102条b款:

在任何情况下,作者原创作品的版权保护不得延伸至任何想法,程序,过程,系统,操作方法,概念,原则或发现,而不论其描述,解释,说明或体现的forms在这样的工作。

这是原来的 。

免责声明:我!=律师

只是一个想法:你可能会发现有一个律师审查这个更便宜,而不是支付500美元/年的更新..

一如既往,如果你真的担心,那就去请律师吧。 我们是开发者。

如果我看到类似的东西,查询没有太复杂的话,我会自己重新编写(可能严格使用查询来查明数据库模式,但就是这样)。

在那一刻,你会更新你的工作…不是别人的。

至于他的问题……如果在工作的时候没有签合同,我认为执行版权会有点片面的。

找别人为你重写查询(或者自己动手),不要再使用他的代码。

你不必使用他的代码。

其实我对这个问题的态度有点惊讶。 程序员最初被带进来,因为没有其他人可以解决这个问题。 解决办法可能不太容易,但没有其他人可以做到,他可以做到。

然后他每年都会被打回去做维护工作。 虽然改变这一年并不完全是火箭科学,也许别人会提出他没有被要求的参数(我认为)。 为了争辩的缘故,有没有人为他没有遵守的程序员写一个规范? 或者是有人对他说“只是修理它。 多less? $ 500〜 很酷,快点 哦,明年回来,请保持“?

这里的大部分愤怒似乎围绕着他所解决的问题的简单性,但是这肯定不是重点? 他解决了实际问题,确保每年都运行,并得到一致同意的赔偿。 我的math是可怕的,但我怀疑有人可以写应用程序做快速傅立叶变换而不会出汗。 但是,因为他们觉得“容易解决问题”的收费很less或者没有钱,所以很容易。

关于版权的问题。 那么,这里的许多post都以“我不是律师”开头。 不,我也不是原来的程序员。 他试图保护自己,我同意其他人的观点,即不值得写出来的论文,或者只需要重写,而不用看代码或者使用代码,或者其他一些build议。 不要打一些人谋生。

好吧,现在就请我反对。

我不是律师,但从我的理解:

除非你以书面forms明确表示“雇用工作”协议,或者可以certificate对“雇用工作”存在相互理解,否则他将有权限制使用该守则。

“雇用工作”基本上是指在“雇用工作”安排下由个人创造的任何东西,立即是雇用他人的财产。 没有这样的协议,所创造的新作品就会自动受版权保护。 我相信员工(而不是分包商)创造的任何工作都被自动视为“雇用工作”。

当然,你不能版权的想法,只有这些想法的具体expression。

我很乐意为你的学区工作。 显然你的承包商可以把他们喜欢的任何条件放在他们的意见中,你的第一个冲动就是尊重他们,而不是查找合同,并确定实际情况。

似乎没有人认识到版权涉及复制的事实。 如果OP既不复制也不分配,版权似乎并不适用于这种情况。

即学校未经许可不得将其作为自己的作品(也许)出版或出售。 在这种情况下,你想咨询你的律师。

无论如何,OP已经同意运行在特定文件中运行一些sql的程序。 我假设OP没有规避程序员制定的任何防篡改控制。

作为程序一部分的sql(尽pipe是雇用的)只是文件中的文本。 现在可能出现的情况是,未经程序员明确同意修改与程序相关的任何/所有文件都可能使任何保证失效,但这确实是关于它的。

而500美元,没有人会起诉你。 你知道律师费用吗? 但是,如果你没有得到原程序员的支持,不要感到惊讶。 公平的警告。

当所有的事情都说完之后,如果所有人都以500美元的价格做了2分钟的变化,这有点莽撞。 但是你确定他只是在做什么? 在正常的咨询收费率下半天工作500美元并不是不现实的。

从头开始编写你自己的“应用程序”版本。 它能有多难?

结账Aharonian v。Gonzales 。

基本上,你不能复制一个应用程序的源代码,但是你可以创build一个function相似的应用程序,只要它不侵犯源代码本身的版权。

实质上,您可以重新创buildSQL查询,但不能直接复制它们。

不过,如果你还有其他问题,还可以跟律师谈谈。

我认为你不需要看代码,而是看个人编写代码的合同。 通常在任何一种编程活动中,都清楚地表明项目的源代码/目标代码的所有权。

如果这不是在原始合同,那么我会确保它在这一个。

这是一个SQL查询的事实是一个红色的鲱鱼。 它就像编译成可执行文件一样是源代码和知识产权。 正如其他人已经说过的,对您使用软件的任何限制主要取决于您的协议条款。

我会观察他的评论说:

 // This code MAY NOT BE USED without the expressed written consent of 

其中没有说修改它,再加上如果你修改它,那么你也可以争辩说,你没有使用他的代码。

定义一个新的视图使用原始查询作为基地,而不指定date参数例如

 create or replace view MY_VIEW as select STUDENT_NAME, STUDENT_NO, CLASS_YEAR from STUDENT_TABLE where STUDENT_CLASS = 10 

编写一个新的查询,从应用date参数的视图中进行select

 set DATE_PARM = '2009'; select STUDENT_NAME, STUDENT_NO, CLASS_YEAR from MY_VIEW where CLASS_YEAR = %DATE_PARM 

花一个律师的信500美元

我的2便士至多是他可以要求你留下他的名字,如果你重用他的代码(这很常见,不是?

我的第一个问题是:“去年你与开发商签订的合同是什么? 或者,我会去找学校系统的律师。 如果有合同的话,可以拿去年的合同。

你从来没有说过你在哪里,所以我们可以给你的任何build议都是没用的。 不同的司法pipe辖区有不同的法律。

如果你在美国,打电话给你当地的律师协会,要求转介给有软件着作权的人,并相信这个人告诉你的,而不是你在SO上阅读的东西。 如果你在另一个国家,找出相应的东西。

作为不是任何律师的美国公民,有几件事情需要考虑。

你从来没有告诉我们这个查询有多复杂。 唯一合理的实施是不可能的。 如果直截了当,就直接重写。 如果这个问题很复杂,那么这个查询就可能不是严格的function性的,而且无疑也有一定的创造性。 在这种情况下,你应该以不同的方式改写它,或雇用某人。

你应该能够find一个能够重写查询的人,而不是继续每年支付500美元,而且不应该很难find比原来的开发人员更有道德的人。

这是一个由软件工程师组成的委员会,他们对编码知之甚less,而对法律问题却一无所知。 你最好咨询律师,而不是在这里接受不好的build议。

学校和承包商之间的合同条款是什么?

(我并不抱太大的希望……但是我知道,我为雇主写的任何东西都与合同上的版权相关)

我希望你能发现,在这个关于这个蛇油小贩(我知道我是)的这个问题上,

首先,停止这个免责声明。 无论如何,即使你说“我是一名律师,严肃”,你也不是律师。 我知道这是因为我是尼日利亚国王的儿子。 任何从论坛接受法律咨询的人都注定要失败。

1)代码受版权保护。 如果没有合同/协议另有说明,版权属于制作代码的人。

2)每年变化的年variables收取$ 500是离谱的,但不是不道德的。 资本主义就是这样工作的。 然而,修改代码直到你使所有者的权利失效,这当然是不道德的。

你需要做的是聘请一个人(或同样的人,谁是最便宜的),写一个查询,每年工作。 这是每年从500美元起跳的正确和道德的方式。 不要忘记现在正确设置你的条款(谁拥有版权等)。

[its not a legal advice]

You pay that guy for what? To generate you a report, or to write code to generate that report? In my opinion , as I'm not a lawyer:

  • If you pay him for a computer program, that belongs to you. (as dcneiner commented, just if it was in the contract)
  • If you pay him for use his program, that belongs to him.

[/its not a legal advice]

You pay him for service not the code. The fact that he left you with source of his code does not allow you to use it. Even if that was single char he created it, he has not sold the copyright and he has not licensed you to use it.

If you want to save money delete his query and write your own from scratch or just let him know you are going to do just that and offer to buy his query for 500$. He'll probably go for it since it's going to be his last opportunity to get some of your money.

Why not just call the guy and ask him what's up? It's probably boiler-plate comments in his code and he probably doesn't give a toss. If he does care at all, it's probably more to do with releasing his code rather than using it. Also, if he's that concerned over $500, then he doesn't have enough money to hire a lawyer anyway. Lastly he would have to prove that you used his code – how's he going to do that?

@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.

Basically if you consult for a living you don't get paid for 8 hours a day. But when somebody calls you once a year, it takes an hour or two just for administrative stuff.

I'm not a lawyer, yadda, yadda, yadda…

This is from http://www.copyright.gov:

"Copyright protection is not available for ideas, program logic, algorithms, systems, methods, concepts, or layouts."

If you extract the SQL code from his .bat file, it would most likely fall under the category of "program logic". He might be able to argue that his simple .bat file is a "program", but he'll most likely lose that argument if it comes down to it.

Also (and more importantly), you have to actually file with the government to obtain a copyright on a computer program. I highly doubt that he has done that every year (any change to the program would require a new application and non-refundable fee).

Finally, if this guy is hurting so much for his $500 a year then I doubt that he has the money to spend on a lawyer to litigate this. Do it yourself and if he actually finds out AND raises a stink (I doubt he will) then let him rant and rave. Don't explain yourself, don't get into an argument. Just say that you're not interested in what he has to say and "have a nice day". He'll most likely go away in a huff never to be heard from again.

Again, this is not legal advice, I'm not a lawyer, I've never played one on TV.

I'm not a lawyer either but…

I would guess that you've already got permission to USE the query as you paid him for the use of it.

 // 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]. 

the verbiage doesn't say anything about " altering " it though… 🙂

One of your many options here is to create a black box replacement. This sounds like a well-understood problem for which you can write a short requirements document. I would recommend that you include the option to parameterize variable options such as the year in question (!).

More importantly, I would recommend that you make SQL Injection and similar attacks impossible in your replacement code. To my mind, if someone has created a cash cow like this, they are focused entirely on milking you for the money and not so much on producing the quality one-time solution that you really need.

Given your requirements document, your recommendation that you have a quality database management system so that you don't get 'hacked', you should be in a solid position to write a functional replacement.

It depends on the contract between the school district and the person who did the work. If its a Work for Hire contract (probably the most common), then the contractee (school) owns the work.