Why I won't sign a non-disclosure or non-compete contract with a client or web development company
If someone wants to work with me, they need to realize a few things which may be different they hiring other web developers. I believe in free software. It is important that I maintain ownership of the work, so that I can ensure that I can distribute it to others unrestricted. I intend to distribute most of my work as open source projects under a GPL or more free license. There are lots of positive things about this, but of course someone who wants lots of proprietary controls placed on the work simply can't get that and it wouldn't be cheap if they could. Open source projects that offer commercial licensing typical charge many thousands of dollars for the commercial version of the software.
Open source software is designed to be given away
By the very nature of an open source project being distributed to the general public, it really isn't possible for there to be a compatible non-disclosure agreement with a client unless it was very specifically worded. I'm a web developer and not a lawyer so it's not possible for me to guarantee the terms of the NDA would hold up in court if someone wanted to argue that part of the open source project is supposed to be confidential. I'd have to automatically reject any such contracts.
Big ideas don't make software, programmers do
In my experience, a client may think they have a big idea, but then the software is put together with a ton of commonly used open source tools and existing code. The project ends up being very similar to many other web sites. You just can't make something great right away for one client. Most software is built by relying on a ton of other open source projects now as well, so it seems excessively greedy to be charging a fortune for what was given to you for free.
Retaining ownership adds efficiency and lowers cost
It takes me a ton of time to develop quality software. It's impossible to start over for each client project, so I need to be able to retain the rights to the work so that ideas and features accumulate into something greater then the individual projects. There are many discounts built-in to the pricing which allows the project to be done efficiently. Web developers need to be able to reuse and maintain ownership of their work in order to be competitively priced. The information provided by the client is almost always trivial and not very original in comparison to what it takes to build great software.
Non-profit foundations are setup to protect free software
There are several non-profit foundations in place to help protect larger free software projects with legal issues like the Free Software Foundation and the Linux Foundation. Most Linux software is protected like this so that companies like Microsoft can't steal it all and developers don't need to be paying for lawyers to do open source work. Most of serious free software like mysql, wordpress, drupal uses the GPL license. The GNU GPL Public License, http://www.gnu.org/licenses/gpl.html , was designed by the open source community over many years to prevent other companies from taking away freedoms that should be passed on to their customers. It seems that the linux Foundation even has a service in place for helping developers negotiate a non disclosure agreement with their customers when it relates to an open source project. They provide an intermediate authority to review and manage the contract terms & signatures. I don't know what it costs, but I'd assume it's not free/cheap when quality legal representation is provided. http://www.linuxfoundation.org/programs/developer/nda
No contractor or employee is unnecessarily restricted
I also don't ask the people I hire to be restricted either. I don't mind if they want to compete against me or sell services to my clients without me profiting. I actually encourage it. I want other people to be self-sufficient business owners, not slaves to my agenda.
Software patents are evil
Patent cause a lot of problems in our society and it's especially true with software since things that are extremely generic are often patented, and it doesn't make any sense. The world is setup currently that once you get bigger, you will be attacked by lawyers. Look at how, Apple, Google and Samsung both work together and compete against each other. They are constantly suing each other over patents that are way too generic. That may be the reality of business, but I don't have to work for people that want to take away our freedom.
Your proprietary projects are not a good fit for me
If you want to think your ideas are original and you deserve 100% control of your project, you won't be able to do it with me. You'd need to hire a programmer as a employee or get someone who cares more about a paycheck then their work. I make our software better because I know there is mutual benefit for everyone involved. This encourages me to do a lot of free work, and enjoy it more. When I work on things to get a paycheck for a specific client, I'm going to take shortcuts, and care less about the project. Sure, I'll try to do a good job, but there is no point is going beyond the client requirements when you are doing a thing just for the money. My long term projects are developed with so much more thought then any client can contribute and they rely on accepting feedback and ideas from many people.
Free means you're free to work with others too
The license we give to clients allows them to continue running their business without us, but it doesn't let them own the web site entirely. They have to follow the rules if they decide to distribute the work to others later. They can't produce competing software based on our open source project without passing on the same freedoms our license provides. Most of the time a customer doesn't need to distribute the work. They just want to have it for their business web sites, and not try to become a web development company.
By sacrificing some control over your project with me, you actually get more back then a lot of development companies will offer. Most of my competitors are closed source and give the client no access to the source code so you are forced to start over if you leave. I intend to break that trend and be more open then they are and find more developers who want to work on my platform, so that we have more people to support the software.
Bookmark & Share
Most Popular Articles
- Mass virtual hosting security tip when using a reverse proxy to connect to other servers
- Solution for MariaDB Field 'xxx' doesn't have a default value
- How to lock Windows immediately upon smart card removal
- Stop using sleep mode with Windows Bitlocker for better security. Learn how to use hibernate in Windows 8.
- Planning a system to visually create responsive data-driven web page layouts & widgets in the Jetendo CMS browser interface
- Is Google Public DNS actually better then your ISP?
- My dog survived eating a box of Oreos
- Pros and Cons of CFML vs PHP and other languages