Open Source/Proprietary - An Issue of Two Codebases?
g00mba_b0y asks: "For the past year I and a small team of developers have been working on an open source targeted, general business application framework. I say targeted because we have not yet selected a licensing model and placed the code in the public domain (we are working on some specific functional targets). I recently demonstrated the framework to a potential client who liked what they saw, and wants to use the software for their flagship product. In addition, they want to hire me to further the development of the framework as well as participate in the development. The sticking point is the structure of the legal agreement. I'm really interested in two things: the experiences of developers who are doing something like this (how did you address the IP issues); and links to any information on this subject."
"We agree in principle that the framework related development that they will be funding should be available for open source licensing, while code related to their business should remain proprietary. The tough part is coming up with a legalese definition of where the boundary lies, and a means of addressing disagreements when they occur.
I've done my homework and found a ton of information on licensing strategies, motivations for OSS, etc., but nothing so far that addresses how companies, who are funding open source initiatives alongside commercial development efforts, draw the line between the two."
Would this be anything like the difference between mozilla and netscape?
Mozilla is open source, and is what Netscape is/was based on, however Netscape added additional features like AIM.
Wouldn't it make sense to open source the code that has been developed BEFORE you've been employed by the company? At that point, you own the code.
At the point where they hire you to write MORE code, it is legally theirs, as they paid for it.
Wouldn't that be a reasonable solution to the problem? After all, as a mechanical engineer anything I develop while I work for a company they own. I don't see why software "engineers"... should be any different.
the BSD License.
I Am Not A Lawyer... You need a lawyer. Hire one and ask him, not Slashdot.
This sig has been temporarily disconnected or is no longer in service
Asking the people who read Slashdot about these things is like asking Martha Stewart about investment advice. What do you think you're going to hear? I doubt you'll get a lot of useful legal advice on how to handle licensing and negotiations. But you're sure to get advice on how to give away your work more efficiently.
Close it up. Make a killing. That is also a freedom.
(hope you read at -1)
Is subject to negotiation and specification. It's entirely up to you and your client to define it. I think the real sticky point is defining it well, and conducting the conversation in a non-confrontational way.
I think if you approach them in a friendly and open fashion, and talk about your concerns and commitments, they'll listen. You sound like an honest person, you're clearly not trying to rip them off, otherwise you wouldn't be troubled by this.
One guideline is special purpose/general purpose, which is vague. A more specific one is what gives your client a competitive advantage, versus something they wouldn't care whether their competitors had it or not. An example of the latter would be things like payroll software.
Your client probably has a pretty strong attitude on that subject. It would be important to know what it is before deciding how to proceed.
'In knowledge is power, in wisdom humility.'
Remember, you are holding all the legal cards regarding the code at this point. They are just holding some money.
Licensing is tricky, and it fundamentally affects what you can and can not do later on - once it's Open Source, it's hard to go back. .plan file indicating world domination in 3 releases...
Here's what I'd do : hire a lawyer !
Work out why you want to go the Open Source route - it's morally good, and can make good business sense.
But if you're building an application that is very specific to a particular industry, it may not make sense. For instance, if you're writing software to automate the day-to-day running of a law firm, you prob. won't get much community input; you say you have a framework (check out www.jcorporate.com for ways of dealing with the "framework/application" licensing issue), but how much of the framework is generically interesting ?
As a business, Open Source is a very powerful way of getting traction with a piece of software. But you also have to feed it, keep the community happy, administer the rights of people to commit to CVS, ensure the project retains momentum - it's no free ride. And we really don't need another projet on sourceforge with a "pre-alpha 0.001 release" checked in 3 years ago, and a
Open Source is absolutely right if your project makes sense to the OS community, and if you can expect significant contributions from the community in return. Don't go Open Source because you feel you should to retain street cred.
If you do decide to go OS, I'd suggest taking your code base, and take each source file - write the names on index cards - and split them into "Open", "Proprietary", "Not sure" (ideally with your sponsoring company). Hopefully, this process will help you decide where the boundary lies - it's a lot easier to decide when you're looking at concrete source files than discussing it in the abstract on slashdot...
That should make sorting out the rest of the files fairly straightforward.
Oh, and get a lawyer.
It's all very well in practice, but it will never work in theory.