L等我们面对现实吧,大多数程序员,开发者和程序员普遍讨厌思考我们企业的管理方。 但是,为了正常运行,我们必须执行诸如会计,发票处理以及其他令人伤心的行政管理等工作,这些工作使我们远离(希望可享受的更多乐趣)可计费的时间。
所有这些项目都与开发完全无关,可以通过Google最佳实践来学习或吸收。 但是,我一直觉得我们所从事的合同是不同的 ,因为它们应该更加专业化以反映我们环境的细节。
因此,在起步期间,我花费了大量时间来整理各种法律最佳实践,语言摘要,我自己的想法/观点,以及可能将太多无关的信息转化成巨大的工作合同。 (相信我,我搜寻了各种原始资料。我什至在YouTube的条款和条件中发现了一种错字,直到今天仍然存在-某种程度上我觉得很有趣。)
我不仅将合同用作公司与客户之间的约束性文件,而且将其用作客户的教育工具。 因此,它相当长,但也很彻底。
客户(甚至是经验丰富的业务CEO)往往不像程序员那样理解技术领域的细微差别 。 他们说他们想“拥有”网站上的每一行代码,甚至没有考虑这意味着什么(例如,当您使用开源代码库和CMS时)。
当然,像其他许多程序员一样,我不是律师。 就法律而言,我的合同可能完全是垃圾。 我的意思是,我不认为这是(幸好没有法院案件记录测试一下吧!)。 但是,至少要有大量的研究作为后盾,大量的法律巫术被渗透到实际从事合同法出版物的渗透中,得到了律师客户的苛刻而有建设性的反馈,最终有了最好的意图(诚然,通向地狱的道路已铺好)。
取得文件
📁您可以阅读(并且可以随意分叉,复制,修改,夸奖,贬低) 我在此链接上使用的确切文件 。 📁(没有广告/弹出窗口/令人讨厌的怪异-只是我在其所居住的页面上使用的确切文字。)
注释,限定词和免责声明
同样,我不是律师。 因此,如果您使用此功能,就像我一样,您将独自一人。 最重要的是,我认为这是一份生动的文件。 当我发现自己认为是一个好主意或应该合并的东西时,我就去做。 如果做出重大更改,我会像大型参与者一样,并提醒我的“用户”(客户)注意此类更改。 如果更改不重要,我只会在不通知任何人的情况下进行更改。 项目#8解释了这种方法。 也就是说,我认为以下几点特别值得讨论。
总体结构。 我已经尝试根据法律合同的通用结构对此模型进行建模。 希望它包含合同具有约束力所需的所有必要部分或要点。
第1节:期限。 我考虑了很多,因为大多数合同都有期限。 程序员喜欢边界,但是他们也喜欢动态场景。 所以,我所做的是说这段关系持续了一年,之后我们所做的任何工作都被认为是这种关系的延续。 对我来说似乎合理。
第2节:职责。 这就是范围和时机所在。 在这里,我概述了将要完成的工作以及何时完成。 然后我将其弹出到该区域。 对于较大的项目,这可能会很长。 或者,它可以很短,例如“按指定的方式提供持续的咨询”。 无论哪种方式,效果都很好。
第3节:费用。 这可能是您需要自定义的很多东西,因为它特别反映了我对网站开发的自己的过程。 但是,请充分阅读此书,因为它结合了相当多的思想和最佳实践。 默认情况下,本文档中没有任何内容-实际上有目的地包括了诸如指定美元金额之类的详细信息。
另外,请注意, 我并不总是在所有合同中都包含所有这些项目。 (例如,如果这不是固定费用的工作,则不会向那些客户显示该部分。)您看到的是生成的页面,显示所有可能的准备。 我实际上编写了一个小系统来使这一切变得灵活。
第4节:NDA。 我发现有保密协议是一种最佳做法。 通常,也有一些大客户来找我。 但是,我长期以来一直认为,客户与我越开放和诚实,项目的成功就越好。 本文在这里更多地讨论了我的奇怪观点:
第5节。这是我所谓的客户教育的示例。 在这里,我向客户解释了有关他们通过文档同意的内容以及超出范围的内容。 但是,请注意,本节是针对我自己如何处理IP之类的内容而高度定制的。 作为一个小公司,我不在乎如何在数百个客户端上管理成千上万行代码的权限。 从这个观点来看,您的看法可能会大相径庭。
例如, “代码”确认→“新代码”下的项目指出:“对于顾问开发的任何新代码…顾问特此授予客户,客户特此接受无限,不受限制,免版税,全额付款,全球范围和非独占性使用 (除非在工作范围内另外指定了此类权利)。”
这是一种方便的说法: “我可以用代码做我想做的任何事情 ,你也可以。” (我想我是从我在BoingBoing上看到的一个示例(该语言很可能是Cory Doctorow发布的)夺走了该语言的年代。
注意,尽管仅仅是因为我可以访问他们的代码(我写的),但我仍然受到NDA和正常道德的约束。 因此,我不能放弃竞争性机密或任何专有信息或流程(不是那样!)。 但是,例如,如果我编写了一种与数据库交互的方法,则可以在其他客户端工作上重用该方法,就像在当前工作中可能使用以前学习的工具和实践一样。
程序员会随着时间的推移建立技能,而我认为只要我们保持道德,我们就应该自由地重用这些技能。 但是, 有关此项目的观点会千差万别-从客户“拥有”所有代码的规定到顾问所做的规定(仅授权给客户)。
我并不是在说我的观点(“我可以用代码做任何事情,你也可以做”)是最好的-只是对我来说最有效。
第6-10节。 这些都是您可以在大多数合同中找到的样板/常规项目。 我已经自定义了它们,因为我觉得最能反映我的业务。
第11节 ,出于某些原因,我认为这对于开发合同至关重要。 首先,“原样”的法律定义为程序员提供了很大的保护,其中大多数代表小型企业。 我试图从我研究的许多示例文档中拼凑出尽可能多的最坏情况下的法律损害赔偿方案,以应对其中的全部大写部分。 奇怪的是,这些都不包括本节中的律师费,因此我加了。
第12节。为了举例说明这种情况的持续发展,在考虑到刚刚发生的哈维飓风之后,我才添加了“洪水”。
第20节。作为几年前我在合同法出版物上的工作的一部分,我回想起曾经了解到,为了使合同坚如磐石,它确实应该反映出双方的思想。 许多合同是不允许的谈判,显然是无法强制执行-当你注册一个健身房或东西,有一个如取它,或者放弃的合同 (又名“粘连合同”)签署。 因此,这部分是我放置客户同意的条款的地方。 通常情况下,就像注意到我们已经有一个NDA。 其他时候,客户可能想要的东西与文档中的某些“样板”规定背道而驰。 在这种情况下,我将在此处写下这些让步或更改。
印刷/签名
一旦为每个客户写下了详细信息(通常是黄色区域中的项目),便为其分配了访问代码。 然后,他们可以使用在获取文本时看到的页面上的代码来访问其定制的合同迭代。 从那里开始,我们通常会来回几次会议,直到他们准备签署。
我在这里仅提及这一点是因为我想提醒人们,您确实可以定制CSS进行打印( 这是一个古老但相关的资源 )。 因此,如果您要打印我所显示的页面,您会注意到它的打印效果非常好。
反馈非常感谢!
我总是从任何角度寻找改进建议,包括法律,其他程序员/开发人员,或者只是一般的业务反馈。 因此,如果您有改进此文档的想法,请发表评论。 我期待该文档的不断发展。
👽Jim Dee 领导 俄勒冈州波特兰市 Array Web Development,LLC 。 他是《 网页设计师 》的编辑。 Web Developer 》杂志和许多在线出版物的撰稿人。 您可以通过ArrayWebDevelopment.com与Jim取得联系。