Getting Paid To Abandon an Open Source Project?
darkeye writes "I'm facing a difficult dilemma and looking for opinions. I've been contributing heavily to an open source project, making considerable changes to code organization and quality, but the work is unfinished at the moment. Now, a company is approaching me to continue my changes. They want to keep the improvements to themselves, which is possible since the project is published under the BSD license. That's fair, as they have all the rights to the work they pay for in full. However, they also want me to sign a non-competition clause, which would bar me from ever working on and publishing results for the original open source project itself, even if done separately, in my free time. How would you approach such a decision? On one side, they'd provide resources to work on an interesting project. On the other, it would make me an outcast in the project's community. Moreover, they would take ownership of not just what they paid for, but also my changes leading up to this moment, and I wouldn't be able to continue on my original codebase in an open source manner if I sign their contract."
You can't begin to imagine the power of the dark side.
Modding Trolls +1 inciteful since 1999
Because that's the real question. Are they paying enough to own you?
So, they're offering to pay you to go fork yourself?
I wouldn't do it at all, personally, because I'd consider it a violation of my integrity to do so. Kinda like a deal with the devil, if you will.
Also, how are they going to take control of changes you already made? You've already licensed them under the BSD license; someone else could just republish them. You can't revoke things like that.
It's better to vote for what you want and not get it than to vote for what you don't want and get it.
- E. Debs
I mean that in a very practical way.
I've never signed a non-compete; they generally are a bad idea unless you have a personal services contract which guarantees you a minimum length of time when you'll get paid, because what's to stop them from firing you the day after you sign?
Also, if the non-compete is broad, and you quit/they fire you, could you find *any* work without competing with them? If the answer is no, then you should seek compensation for your time.
OTOH, if you're a typical coder-monkey who is bright, but your work could really be done by about 1,000 other people (and be honest with yourself) then the whole thing seems fishy to me on so many levels.
I have a feeling you're only asking this stuff because you're not really being honest with yourself. You know the answer to this. Just execute on it.
(I'm anon because I participate in all these talks all the time at a major company and I'd rather not have my name available in this context)
If the money isn't worth it and/or if it will be harder for you to work in the near future, then don't sign.
It would have to be a really big chunk of change for sure here... Like near retirement money..
Depends, how good is the offer?
Treating open source as anything but a business that has to compete will make it fail, it's not a moral decision.
You're obviously conflicted about this; otherwise why be posting to /.?
So... Would the money allow you to do something more than you're doing now? Better house, bigger car? Is that important to you? Is it more important to you than your desire to be part of that particular community?
How critical are you to the success of the Open Source project? Would it die without you?
And, how critical are you to the success of this company's plans? Can they hire someone else for the job?
If it feels wrong, if it feels like it won't work for you, don't do it.
for the deepest goals and values of open source, then taking money from this company would be selling yourself out. But, if you were doing it for fun, with no serious consideration to your part in the open source movement, then you have no such issues. Yes, you'd be outcast for selling your code. But it's a choice you have to make, based on your feelings about your work, your views on open source, and your cash needs. No one else can advise you. Good luck!
Do you need the money? Were you working on the project to build your resume and get a job? Will you hate yourself if you do this? If you quit/get fired/company closes, does the NDA allow you to come back to the project clean? I'm solid middle class with a good paying job. I wouldn't work for a company that steals code (legally or not) but bills piling up might change my mind.
Or maybe just not during the term of your employment? That would almost seem reasonable, if you don't mind that kind of indentured servitude.
A short-sighted company will take this approach. A visionary company would not. Your choice.
Cheers!
"The only good windmill is a tilted windmill."
Personally I don't think there is anything immoral about selling your work for money. It's called making a living. The question is how much if anything was dependent on the work of others, and what promises you have made to others about this work.
A decision like this has to depend on how much the money means to you. If it will make a significant positive change to way you live I'd do it. If not, it probably isn't worth it.
Here's my comment from the firehose. Stupid how those don't carry over.
Barring you from working on the same project again (or same field again?) might be unenforceable. Several jobs have non-compete clauses in their contracts, but several judges have struck them down. It really doesn't seem practical, or reasonable, to accept a lifetime ban for a job. Also, how long does your contract with your new employer last? Definitely do not accept if it is an "at-will" employment offer. They'll just fire you the first month, and they have eliminated a competitor with minimal cost. Also this part, "Moreover, they would take ownership of not just to what they'd pay for, but also of my changes leading up to this moment" needs to be crossed out unless they are buying the work you have done so far. Don't give that away for free.
Basically, what you have described are unreasonable terms. If I was offered a job that paid better than what I get now, I would seriously consider taking it, even if it was at the cost of the open source community. I would continue to contribute in other ways. But that doesn't seem to be what is happening here. At worst you are being scammed, and they will fire you when they get what they want, and at best you are getting a bad deal.
Write your own Choose Your Own Adventure. http://www.freegameengines.org/gamebook-engine/
Moreover, they would take ownership of not just what they paid for, but also my changes leading up to this moment
After those changes have been released under BSD?
If they did not accept that, I would forbid them to use any code from the project, and bring down the wrath of the relevant copyright laws, if they were not prepared to abide by the licensing terms.
Highly aggressive and completely clueless, not a good combination.
Live today, because you never know what tomorrow brings
All terms are negotiable. Figure out what you could live with, take a position of strength and ask for more than they appear to be willing to give (e.g. you'll do the work for more money than they are offering, will dual-license the work and won't sign a non-compete). Let them know its a negotiation, but that you cannot do it under the terms they proposed.
the growth in cynicism and rebellion has not been without cause
However, they also want me to sign a non-competition clause, which would bar me from ever working on and publishing results for the original open source project itself, even if done separately, in my free time.
Don't ever accept a "never" non compete, it's not fair to ask that, and you should be unafraid to say so. In some states such a provision is unenforceable (not sure where you are).
Bottom line, my thought is that while you are with the company, any code you develop there stays there. After you leave, then you should be free to develop on your own. The good thing about this is that a company will have paid certain development, and you working on it get to see the results. Quite probably after it's been around a little while you will have ideas on how to tweak it to make it better. If you've since left that employer, your advice and experience will be valuable to the project, even if it's diverged from where your company took it.
-
"Science is about ego as much as it is about discovery and truth " - I said it, so sue me.
Just think... wwrmsd? It would be unethical to accept their offer.
Do you have to sign the contract in blood?
War(n) - Gods way of teaching Americans geography.
This is why we have stuff like the GPL to prevent these very issues. I don't like attempts like this to undermine the F/OSS movement.
Think of WINE! Remember what happened when the Cedega guys "improved" the WINE codebase? The project's DirectX implementation stalled for years!!
And who says they won't use dirty tricks to keep you from working on Open Source FOREVER?
JUST SAY NO.
How important is it for you to continue your original codebase? If it outweighs the signing of the non-competition contract than don't sign. Than again, if you find yourself needing to sell your soul for monies sake, than sign.
My take? They approached you, and if it is a small project they are unlikely to find someone else with equivalent experience to work on the code base. Their alternative is building the project from scratch.
You would be an idiot to sign any open-ended non-compete clause. It is reasonable for the company to expect you to keep their modifications private, but their way of addressing this is not reasonable. A more reasonable compromise is for you to remain bound to non-competitive terms as long as you are employed by the company. This provides some teeth to your "employment at will" and gives them an incentive not to screw you over once you are working for them. Also remember that anything you sign that restricts your freedom to work on the project will also restrict your freedom to work on a consulting basis with other companies when you leave.
On a final note that comes from personal experience, "providing resources" isn't a tangible promise at all and you'll be lucky to get much of anything. If these guys had resources to throw around it seems unlikely they'd be trying to fork an open source project instead of building from scratch and trying to keep the whole thing proprietary.
Before you make a decision talk to a lawyer that understands the issues. The company may be making demands post employment that aren't enforceable. In any event, you don't want to agree to something you don't understand.
Also bear in mind they want you because of your expertise. Make sure they pay severely for it. If they balk at your asking price, offer to accept lower compensation for laxer restrictions.
Their reality is if they get someone without your experience with the codebase, they'll spend a lot of money on familiarization and even more if they try to merge in features from a fork.
Negotiate! You've got a strong position.
Simple, if they want to restrict your ability to write code after you leave, you need to make money every time they use your code, after you leave...
If you decide to go ahead with this have a good lawyer go over the contract. You're never going to be able to trust these guys. They are going to try to suck you dry and throw you away. Be sure you have an ironclad agreement that guarantees that you will be fully compensated for what is going to be a very unpleasant experience.
Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
How is it unethical? The BSD license allows for such behavior. When you license something as BSD, you do it with full knowledge that someone can come along, take the code, and then use it internally without releasing their improvements to it.
That is not unethical, that is fair play.
Don't forget you can't change your mind once you do sign. You might decide a week or month later that what they told you isn't what reality is. How often to you hear this. I wouldn't do it.
You can get enough money to keep doing what you want to do, lots of different ways, from lots of different sources. However few people ever get the chance to really make a difference by doing something worthwhile like a successful open source project. You can't put a price on that so don't even try. If you can get this other company to sponsor you with no strings attached, great, but otherwise tell them no.
I was in the same position a few years ago with tracktype.org and I'm happy to say the decision was easy to make at the time. Now it's grown from a few thousand hits a week to a few million hits a week and no amount of money could have bought that much satisfaction.
You don't say much about the project, or what the improvements would be. Are they something connected to your prospective employer's core business, and will the give them a competitive advantage? If not, then you could try persuading them that it will be cheaper for them in the long run to contribute the changes back upstream. This model was followed by Yahoo! in relation to FreeBSD.
It doesn't sound like this is the case, however. The next question is, how much of a competitive advantage will it give them? Would they lose anything by releasing the changes in six months? A year? Two? If not, then you should discuss this with them. You should also make sure that they limit the non-compete clause to only apply to specific features and within a fixed time scale.
I am TheRaven on Soylent News
explain it to them. They probably haven't thought this through.
Most times it seems like someone is being a complete ass, it's because he didn't perceive his own behavior as offensive. It usually only takes a cool, calm reply noting that you first believe this offending party to be a of good intention (a compliment) then note that you've noticed something that probably needs clarification because you're certain their intentions were honorable. In most cases when presented with high and honorable expectations, the offending party will seek to live up to those high expectations.
Give it a try.
You have been working on this project for how long? With the deal as stands they will be effectively receiving near-exclusively (who else is going to step up to maintain it if you can't) all the effort you have put in thus far.
Put a reasonable price on that - a year's part time work, $30k. Otherwise tell them to fuck off with their non-compete clause. They can't be expecting to get something for nothing.
Of course if you have some sort of moral issue which affects your take on the raw economics of your decision, thats not something to be talking to us about.
3laws: No freebies, no backsies, GTFO.
Money || Integrity That's not very fair. If you need the cash do it, just don't complain later when you can't do anything about it. If you love the project and want to continue to love it, don't. And never, ever sign a non-compete, for any reason. It should be a deal breaker.
If you don't know what you're doing, you can't make mistakes.
Lets face it, everyone has a price.
Doing work for pay that doesn't go to the original project is a reasonable request and warrants reasonable pay.
But this non compete agreement that would force you to stop is not a reasonable request, so it warrants unreasonable pay. Tell 'em, $50,000, $100,000, or whatever your price is, and then you'll sign it.
Wouldn't it suck if they got you in there for 1 day, paid you for it, and then let you go. They just eliminated a significant amount of competition for a day's pay.
First, it's not unreasonable for a company to want a non-compete clause, particularly when you could so very easily steal all their thunder.
And it's not for-"ever". You're unlikely to work for this particular company for long, and I haven't seen a non-compete clause last more than a year after the end of employment. It may be an eternity in the software world, though.
Personally, I'd say get every cent you can out of them and go work on SOME OTHER open source project that interests you, in your spare time.
If you feel bad about abandoning the project, you could donate a small cut of your newfound salary to the project, which, for many, many projects I've seen, would do more than any amount of (free) coding from you ever could.
Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
. . . are you sure you want to work with people like this?
Multiply however many hours you worked on the project beforehand by $300 or $500 an hour, whatever you think a contractor would charge. Make them pay that up front, since you'll never see the benefit of that labor again if you take the job. That might sweeten the deal for you.
You'll have to decide on your own whether abandoning a hobby you like is worth a lot of money.
If the $$ amount is enough - to cover the possibility of not getting a certain job 'cause you can't work on it, etc. Everyone has their price... you just need to figure out what yours is, and then perhaps double or triple it. They obviously don't want you to work on it, since you can just put out another free (as in beer) version of it which makes their investment useless. So they need to pay you, and pay big. Think in terms of enough to buy a nice house, etc.
Don't blame me, I voted for Kodos
There's only one question you need to ask yourself:
Does is the idea of being an outcast more or less palatable than the idea of doing interesting programming?
There is no other question here but that.
Tell them to take their non-compete and shove it up their ass.
If you're having doubts about whether you should do it then clearly they're not offering you enough money to go through with it. So the real choice is either you don't want to do it, or you need to come back with a dollar amount for your existing work with options to lease/license. In addition to that make sure you get it in contract that you'll be working long term, ie not 'at will' employment, so that once you're done with the neat little addition they don't cut you lose. There is a lot of risk so make sure you come up with your 'price' for the risk, and then negotiate from there. Remember nobody is making you do anything, unless you're in Russia, where contract signs you!
While I agree that evilviper has a very pragmatic solution to the dilemma, there are certain questions that only you can answer.
How would you feel about being an outcast to that community?
How much do you believe in open source?
Do you really want to work for a Microsoft wannabe?
Which do you value more at this point: freedom or a paycheck.
Do you really need this paycheck?
What would your family say?
Jobs come and go. A good programmer is never out of work for long. If you truly wish to keep working on this open source project, then pass on the offer. If you need a paycheck to support your family, then go with the job. Family first.
If you are selling your work, then I think you will want to create some kind of royalties payment schedule. (Make sure it is gross revenue of the product so they cannot play accounting games.)
Another option might be a consulting gig with them. The second time around with source code tends to be the better code eh? You may even be able to show of skills to show them you are worth keeping around for more than a few lines of code.
What I am saying is get paid for your future work on the code base.
If the code it's self is valuable, you should consider taking advantage of that value and this company might be the option to do that.
Repeatedly it has been chimed in the open source community that not everything has to be open source. There is value in pure functionality and paying for pure functionality is not a bad thing.
I have licensed my stuff in BSD often also. While GPL is the most freedom for the user, BSD is the most freedom for the developer.
By using BSD he now has this option, which he could choose to refuse.
By using something like GPL, he would never have even had the choice.
Soulskill,
You Are (obviously) Not A Lawyer. Go talk to one who is licensed in the state in which the employment contract is signed and is familiar with technology employment law. In some states (notably California, but also others) the courts have made it clear that employment non-compete clauses cannot be enforced to any practical degree.
Also, all of the terms of a contract are negotiable. For instance, you state that, "they would take ownership of not just what they paid for, but also my changes leading up to this moment". This does not sound like a reasonable position to me. Does the contract really state that, or is it something that you're misreading, or is it a point on which the contract is unclear? Push back -- if this is your first time, you may be surprised at how much of an offer is just a starting point for negotiations. If a section is not clear, propose your own language that clarifies those points.
The same applies to, "which would bar me from ever working on and publishing results for the original open source project itself, even if done separately, in my free time". None of the negotiations I have been involved in have ever had a non-compete that reached this far. Six months, a year, two years after termination of the contract are typical. Depending on the software and the industry, the term may change but a perpetual non-competition clause will almost certainly be thrown out in court.
Another point to note is that the negotiation process is one indicator of what it will be like to work for this company. If they're hardball, take no prisoners negotiators, there's a pretty good chance that they will treat you the same way once you are an employee. In which case, do you really want to work there?
Just some food for thought.
--Paul
Moreover, they would take ownership of not just what they paid for, but also my changes leading up to this moment, and I wouldn't be able to continue on my original codebase in an open source manner if I sign their contract
It sounds like the company is trying to buy the copyright for the codebase... If they want to do that tell them they'll have to pay what it would cost to develop the codebase as is...
I don't see the big deal. It's only one BSD project.
;) ).
It's just like writing proprietary code for a living (I personally don't see anything wrong with that). Except that they have to compensate him for going "private" and appearing to "sell out" (reputation, good will etc).
To put it in perspective, how many of you would look down on him for "selling out" for USD1 billion? I'd personally tell him "Please take their money (if it's all legit)"...
Unless of course he's actually someone like RMS (but hey it's BSD so it can't be RMS
But if he's only going to get "normal developer" $$$, I don't think it's worth it unless he's really short on money and has no better options.
I hate all that noncompete crap, but if you gave me a huge enough pile of money with no other strings attached, I'd be happy to not work on a similar project (other than with you) for the rest of my life.
I certainly wouldn't sell my soul for any amount. I've gotta get rich from it.
Non-compete clauses are very common in the software industry. You have a few choices:
1. Negotiate a smaller time range
One year is very typical in the contracts I've seen.
2. Negotiate a lower price
Offer them a lower price if they allow you to open source your work.
3. Choose which parts remain open source with the client
It may make sense for them to only close source add-ons and additional functionality rather than everything, especially if you continue to work on it in your spare time.
4. Remind them that you plan on working on other portions of the project in your own time at no cost to them. This is to their advantage.
But you may just have to decide whether you want the work or not. Sometimes it all comes down to how big your mortgage payments are.
Just decline.
You will be in the same position as if they had never approached you in the first place.
On the other hand, you might approach their so feared competition, and continue your open work, at a profit, for them.
-><- no
If you didn't release your code under the BSD license you would be getting fucked over like you are now.
How exactly is he getting fucked over? He's being given an opportunity that he might not have had if it was a GPL-licensed project, and he doesn't have to take it.
And it's not his project, he's a contributor, he may be a large contributor but that doesn't mean it'll die without him.
So:
* You're assuming he's going to take the offer as is.
* You're assuming that his contributions are critical to the project.
Neither of these are given, and even if he thinks the latter is... it probably isn't.
If it really is, he's probably in a better bargaining position than he thinks: if his participation is critical to their fork, then he should be getting a share in the ownership of the result, and demand that.
And THAT doesn't seem like "getting screwed over" to me.
"BSD Licence" and "forbid them to use any code from the project" are contradictory. Once you've permitted them to use the code, you can't forbid them from using the code.
Also FatPhil on SoylentNews, id 863
I have never signed a non-compete either, but I have been asked to. If you are in California, you may be in luck. Back in the late 80's we passed a number of laws prohibiting most terms of non-competes including that you can't sign away your right to compete with your current employer or past one. Recently one aspect of that law was upheld in court. That won't stop them from suing you if things don't work out and you go back to helping that competitive project. Where most people get into trouble is intellectual property (IP). Remember, never take any code home. You own what's in your head (experience) but nothing else. Keep all your old code from the project, so that you can show that you used that IP elsewhere first. If you are serious about the job opportunity, ask to talk an attorney first with copy of it (Beware, attorneys a notoriusly slow about this type of a turnaround).
Are they paying you for work already done? Seems to me there should be something in it. Also set limits on non-compete. If they want to prohibit you from competing in your field for 1 year they should include a 1 year severence.
What they are appearing to ask is not unreasonable if you think about it. They will pay you to continue the work and in exchange expect you not to take the knowledge gained while they paid you to go and quickly update the open code when the project is complete. However be sure to make the agreement mutual and have escape clauses (they fire you, etc.)
Moreover, they would take ownership of not just what they paid for, but also my changes leading up to this moment
If it's been released under the BSD license they can't do that in any meaningful way. The only rights *you* retain in the code you have released under that license is:
* The right to release another version under a different license.
* The right to be acknowledged as the author of the code.
* Some protection from misrepresentation and lawsuits.
You don't have the right to withdraw the code from distribution by anyone that already has a copy, and I don't think you have the right to remove your name from those copies, so what exactly do they imagine they would own?
I have never signed a non-compete either, but I have been asked to. If you are in California, you may be in luck. Back in the late 80's we passed a number of laws prohibiting most terms of non-competes including that you can't sign away your right to compete with your current employer or past one. Recently one aspect of that law was upheld in court. That won't stop them from suing you if things don't work out and you go back to helping that competitive project. Where most people get into trouble is intellectual property (IP). Remember, never take any code home. You own what's in your head (experience) but nothing else. Keep all your old code from the project, so that you can show that you used that IP elsewhere first. If you are serious about the job opportunity, ask to talk an attorney first with copy of it (Beware, attorneys a notoriusly slow about this type of a turnaround).
Two things to consider. Posting to the open source project gets your name out in a big way. Your next job, or your next 5 jobs, very well may come your way because of that exposure and enhanced reputation.
Also, pitch it to the company as getting the community to maintain your changes. Unless this is their core business (and it sounds like it might be), it's in their best interests to get the community to pick up the changes and keep them moving forward in future releases.
Finally, have you asked them if this was intentional? Often contacts are just boilerplate from the lawyers and they never intended to put you in this position.
Agile Artisans
Take the money and fuck the community. The community won't pay your bills, your food, the clothes on your back. Keep free what is BSD'd and already free, and go whore yourself for as much as you can screw outta them. Best of luck to you.
how do you forbid someone from using BSD licensed code?
Do you even lift?
These aren't the 'roids you're looking for.
Yes but if you're talking about "principles" then signing such a contract without modification (but comprehending it and the implications) is lying.
I recommend striking invalid clauses out. Or clauses you are not going to adhere to.
After all if such a clause is _invalid_ (illegal?) in California TODAY, no harm in striking it out right? Or unless they're actually hoping for California to change their mind next year or so?
Either way I think it makes better sense to remove such "invalid" clauses.
If the company objects to that, then you should ask yourself whether you really want to work in a company that insists on having invalid clauses in their contracts, and values those clauses more than it values you working for their company.
And you'd be also working in a company that's selecting for people who don't read, don't understand, don't care about contracts, or think such contracts are acceptable.
"Since you support free speech, I assume that you support and encourage flag burning."
A true advocate for freedom will advocate for the freedom to do things that he personally does not approve of.
If you mod me Overrated, you are admitting that you have no penis.
You are not "Getting Paid To Abandon an Open Source Project?" What you are doing is getting paid to help someone implement this open source project for their company. Of course they want you to sign a non-competition clause. You're putting all your mental energy and time into the project. They want to pay you for that time and passion.
Instead of feeling guilty for "abandoning" a project that does not pay you anything for your good work, feel proud that someone is excited enough about your project that they want to pay you to customize it for their organization.
Besides, a project that depends entirely on you to keep going is not stable. If your project fills a need, someone else will step in and take the mantle. You need to step back, take the job, and let your project grow up.
The decision here wouldn't even have to do with open source or abandoning a project or anything.
If you are in a situation where you have a choice (and can still feed your family) of not having a non-competition contract under your belt, then you want to make sure to never sign one, ever.
Why would you reduce your long term worth for a temporary position (in this day and age, even so called permanent positions are temporary)? Not worth it. You'll lose money in the long run.
Now, a company is approaching me to continue my changes. They want to keep the improvements to themselves, which is possible since the project is published under the BSD license. That's fair, as they have all the rights to the work they pay for in full. However, they also want me to sign a non-competition clause, which would bar me from ever working on and publishing results for the original open source project itself, even if done separately, in my free time. How would you approach such a decision? On one side, they'd provide resources to work on an interesting project. On the other, it would make me an outcast in the project's community. Moreover, they would take ownership of not just what they paid for, but also my changes leading up to this moment, and I wouldn't be able to continue on my original codebase in an open source manner if I sign their contract.
This seems like a pretty clear decision to me; don't take it.
So what is at stake (if I understand you correctly) is that this company wants to pay you for your work on free software, but in exchange you must give up your freedoms (non-compete, cannot work on this project ever again.)
I don't know your financial situation, but unless you're really strapped for cash, I don't recommend you take this offer. Agreeing to sell your freedoms (even part of your freedoms, since it seems to affect your work only this project) rarely ends well.
Yup. Have a lawyer look at that contract before you sign it.
But nobody would pay an artist not to paint. You should talk to a lawyer -- just a consult -- there are laws against overly restrictive agreements, especially if the individual's ability to make a living is encroached on, for one example.
Yup. Have a lawyer look at that contract before you sign it.
Yup. Have a lawyer look at that contract before you sign it.
Hide all sigs: Click HELP+Prefs (top), VIEWING (last on right), DISABLE SIGS (3rd on left) and SAVE (hidden at bottom).
but also my changes leading up to this moment
This bit is inexplicable. You must have changes that are as-yet unpublished then, because if you've published the changes already, under a BSD license, then they can't be exclusively bought.
If you have unpublished work in progress, is there anything about your contract that would prevent you from publishing it before executing the contract? If the employment contract forbids this, then there is value on the unpublished work, and you should negotiate a cash value for that, separate from employment.
As for "outcast in the project's community" I doubt that very much. People are forced to put aside O/S projects all the time, and this is a natural situation when you have to feed yourself and the O/S project is a hobby. I would be not at all surprised if your paid job keeps you from doing this particular project as a hobby going forward. That kind of stuff happens. If you have contributed anything of value during your O/S participation, then you are a hero.
Also, since you have been contributing to a BSD licensed project, I assume that you support and encourage this type of corporate behavior.
How did this troll get modded up? In what way does the BSD license encourage anti-competitive arrangements that prevent people from being able to work on a particular project however they want?
From your phrasing, it seems that this non competition would be unlimited in time, being in force for your entire life. I would express concern at the time limit, and then demand a payment equal to the time affected.
In short: Even partial value for your skills forever is a very large number indeed.
Any sufficiently advanced technology is indistinguishable from a rigged demo.
I empathize with your confusion. I see two issues where you see one. Decomposing the problem further might make the solution more apparent.
Here's the emotional one:
On the other, it would make me an outcast in the project's community.
The career-oriented one is direct, and as you've stated it.
Life in this society is a constant mixed and confusing message - you're supposed to be a tough guy and Oprah at the same time. Screw Oprah, emotional issues are not the be-all and end-all. Screw the inner tough-guy, emotional issues do too matter. And the emotional issue surely does seem very, very large. If you're a fuck the world kind of guy, they're giving you a chance to be in hog heaven. If you're the kind of guy that's tired of having life push you around and The Man removing your Self, then this is the deal breaker - alienation is nothing to sneeze at.
Not all confusing issues have an emotional issue and a technical one - it just decomposes this way in your case. My (very) graybeard experience is to always look for further problem decomposition whenever you're confused. This has served me well.
I ramble on thusly because I think a big issue being mentioned once, with fewest words, in the middle of a lot of words about the other issue, raised a big red flag for me - hope it does for you as well.
I think you're probably ready to decide.
In any case, here's a few cents on the other issue.
It's apparent that your non-compete extends to ongoing open source work. Personally, this would be the deal-breaker for me. There's nothing wrong with a non-compete contract. Companies should expect ethical behavior from employees even after they leave; these sort of contracts arose in part because former employees haven't always proven to be ethical. OTOH, these sort of agreements have also arisen because some companies aren't ethical. Unbelievably, in the Reagan era with its big tech spending, there were companies expecting aerospace engineers to work on limited government contracts with an expectation that the employee never work for another aerospace firm as long as they live. If this agreement is taking advantage of your ethics, while the company has none - fuck 'em. Unless you're getting multi-million dollar fuck you money - and enough to write me a check for the same (sorry, if you can go from free to fee and I'm a part of that, then you owe me) - fuck 'em.
My bias is apparent. The fact remains, this isn't a non-compete agreement - it's a take-you-out-of-the-game agreement.
If you have the same bias as me, agree that both issues make this a non-starter, don't say no - negotiate. Maybe they're not evil, maybe they have an idiot for a corporate attorney and don't know it. Don't negotiate over the non-compete or for money. First negotiate to find out if they're evil or if they've fucked up. Bring these issues up like you would to a pal who fucked up. Trust your instincts and if your instincts tell you that they're responding as evil or responding as fuck ups too proud to correct themselves, then you probably won't want to work there at any price and under any agreement. Hit them between the eyes - ask them if they're aware of what they're asking you to sign.
Hope this helps.
(PS - didn't sleep well last night, have previewed this repeatedly finding grammar mistakes I usually never make, and now just giving up with apologies for any rilly bad grammar remaining)
Pathological kinda promises Path + Logical - but instead, you get stuck with pathetic.
Look most people here think either you're 100% free or you're not, and not being free is evil.
First off, it is debatable whether or not BSD or GPL is more free. GPL will keep future code open, but BSD has less restrictions. Is a restrictive license free, or is it free because you better protect future code?
Next, the project is under BSD. The original license allows a proprietary fork. So why is this evil?
Lastly, it seems like the original OSS team isn't getting the job done, where as now you'll be paid to make a working product. Wasn't that the initial goal of creating the project, to put out something working and feasible? It could be this is the best shot at putting out a product for a specific need.
The IT industry isn't all that great these days. Take a paying job when you can get it. If you really feel bad, I'd contribute OSS code to other non-competing projects under a secret pseudonym to ease you conscience.
http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
Comment removed based on user account deletion
.
You might begin by asking if your community of developers has any realistic prospect of driving the project to completion - and whether the end result will be as good as it might have been.
But then I tend to be user-oriented not developer-oriented.
The BSDL is already irrevocable. Whatever he's released, stays released.
This is why projects should always use GPL licenses: it protects against corporate takeovers like this. You wouldn't get the tasty job, but the community is better off.
Ditto on the BSD license not encouraging that.
Non-ditto on proving that the comment was by definition a troll. Lots of people drink the employer Kool Aide without noticing it and becoming contaminated. We all have to eat and all too often have little training in ethics.
The need for ethics is like a thirst - that's why Kool Aide is pernicious and works in the first place.
So I substitute your troll with just-plain-incredibly-fucking-wrong.
Admittedly, I'm being generous. It could be wrong-to-the-point-of-being-stupid. Or it could be that you nailed it in the first place - a fucking troll.
Pathological kinda promises Path + Logical - but instead, you get stuck with pathetic.
How the hell is this modded -1 Troll?
Troll != Disagree
God: An invisible friend for grown-ups.
However, the community shouldn't look down upon you for accepting the offer. The community chose the BSD license and this is a consequence. When contributing to/developing a BSD licensed project, the only reasonable expectation is that your work will be credited moving forward. I've seen working on BSD licensed projects as inherently resume-padding. You kinda hope it will be picked up in prominent commercial endeavors that you can point to as evidence of your competence without coming off as unwilling in a theological front from conflicting with business. You want the main project to be solid and good, but why explicitly shrug off GPL for BSD if not for explicitly embracing closed redistribution/forks?
If others care so much about your contribution, they need to pick up the banner if you go and follow your path.
I'm not saying BSD is better than GPL or vice-versa, but there are inherently different expectations set by each. If the community is disgusted by such a prospect, GPL would have been the choice. If they heartily support it in the hopes they can take credit for significant work on a commercial product, then they picked the correct license. Fairly simple.
XML is like violence. If it doesn't solve the problem, use more.
> Moreover, they would take ownership of not just what they paid for, but also my changes leading up to this moment, ...
And they're prepared to compensate you for that, right?
Calculate how many hours you've put into the work you've done so far. Multiply that by minimum wage (assuming you're in the U.S.; currently $6.55 per hour). Are they planning on paying you anywhere near that amount of money for the already completed work, above and beyond your wages covering future work?
I know which way I'm betting.
It's simple, as long as we are all living in an environment of scarcity meaning that there are no opensource super markets you'll have to participate in trade to keep from starving (Econ 000).
On the other hand the non-compete clause is draconian. I can fully understand why they want you to sign it because without it there is a chance that you'd replicate your developments for them (especially if they've got some good ideas) as open source and thereby voiding their investment. However from your point of view they'd be buying an obligation from you that extends maybe for the next 50 years and applies to your private and professional conduct. For me, that would take a huge load of dough certainly much more than can be earned in a typical development gigs.
If you want the job (and I think it's always great to get payed to do what you like) I'd negotiate that the non-compete clause only and specifically applies to the work you have done for after you leave the company and only while you are in their employ to the whole open source project. In other words: once you leave their employ you'd be free to contibute anything except what you've been working for the company.
___
No power in the 'verse can stop me
Considering that, darkeye has not yet revealed which BSD project is he talking about and what company is buying it, I think it is quite probable that this is a hypothetical scenario that has not happened in reality.
Perhaps he just wanted to defame the BSD licensing in the general geek community?
Perhaps, the author just wanted to get to the front page?
Heroes die once, cowards live longer.
In this case the way it worked was that features were added for the sponsor's version of the project, and were covered by NDA some some period of time after which they were allowed to be folded into the main project. I understand there was some tension there: both between the developer and the community and between the employer and the developer. An NDA/noncompete is a difficult thing to enforce because contributions to open source projects may be made anonymously or under false names. People get suspicious.
In terms of ethical issues, I think it depends on the extent to which this really is your work. If you take the cash and implement the ideas of others in the community or make very extensive use of what you learned there I think that is an issue.
Too busy staying alive... ~ R.A.
Not possible. Even if you signed over your copyrights, the simple fact is that you can't unlicense the code that's already been released under the BSD license. So, while they might get the copyrights, they can't stop people from making copies legally.
In other words, what you would be working on is a fork of your own code.
They get to keep the modifications to the fork private. Nothing more.
Their obvious concern is that you might go back and add similar modifications to the main trunk.
If they're willing to pay, so might others. Find out who their competitors are, how much they're willing to offer, and under what terms. One of them may have a more enlightened view of open source and be willing to sponsor your work.
So anyone that tolerates the license of an existing project is "supporting and encouraging" not just that license, but every potential outcome? If the first thing you do with the project is to start a GPL fork, that's a great way not to make friends. Sometimes there's only one good OSS project in a specific niche, unless you're completely RMS-freaky it's easier to work with them rather than against them.
And even if the BSD license is actually your preferred license, and think it's perfectly ok for commercial companies to use the code and make their own improvements on it, I've never met a BSD project that had as goal to kill itself. That's clearly what's happening here when they buy up developers and forbid them to work on it, they don't want to live in any form of symbiosis with it, they want to kill it. You'd have to go extremely far in reading it as "everything not forbidden is encouraged" to reach your conclusion, and it's not how many other companies act either.
By the way, one thing he really needs to get into the value calculations is potentially lost income. He's been asked to develop commercially (at least) once now, he might be asked again. If he's banned from coming anywhere near it, then that won't happen. It's more than his open source hobby that's at stake here, it's also possibilities for support, custom development and other employment opportunities.
Live today, because you never know what tomorrow brings
Simple, just have a blog where you hint about your idea's and changes.
Do it in a fashion where instead of mentioning code, use people or animals (Animal Farm anyone?)
So, today I Sally had a sex change. We decided to place an true in place of the logical location where there used to be a void. It was around 3:42 (line 3 * 42) PM.
I sure wish she, I mean he would allow me to release this information or the video of the operation, but you will just have to guess about the changes.
Either way, she seems more secure now and performs a little faster.
This is by far the most important advice I could give you (sorry for the caps, but I'm posting after a lot of other people and wanted you to notice it).
The most important question to ask yourself when entering a negotiation is: what's my fallback if this negotiation fails? If I have another good offer to accept, I'm in a very strong negotiating position. If I don't have any real choice but to accept what they offer, I'm in a very weak position.
So the most important thing you could do has nothing directly to do with your choice. You need to get hopping and find another job opening, preferably two or three, and get offers for them. Quickly! Once you see what those offers consist of, you will have a better idea of your "market value" and can make a sounder decision.
Your god may be dead, but mine aren't!
Someone mod him up. Modded you down in error, posting to retract it.
How do you forbid someone from using BSD licensed code?
Relicence it.
How does that forbid them from using the BSD licensed code, again?
The company is on a slippery slope. They are paying you to to work on a BSD-licensed project - one you started and have rights to (unless you disclaimed those rights and assigned them to the EFF or something).
It probably just is that the features you're being asked to do are of competitive advantage, and they will be generating business from that competitive advantage.
Here's what I would do. Forget pay-for-time and ask for a chunk of the pie. Reoccurring payments are nice. During this time, you won't put those special features in the product. When they stop paying you, (and thereby signaling that they aren't making any money off those competitive features) put the features in.
It's like they pay you to defer the features.
You can of course continue to add features to the main product and their special product, but that set of special features is theirs as long as they keep paying you for them.
Now in negotiating the rate, that has to deal with how much you enable the company. If your contributions to their bottom line are huge, then 10% is standard. But if you're a bit player, then maybe 0.5%, or something along those lines. Of if it is item based, you can say for units 1-10, you get this rate, then for 11-50 you get a lower rate.
Remember, you're dealing with a business, not people. (Though you deal with people in the business...) The "cost of doing business" is just that. If you are /the/ man to do the work, then there is a higher cost of business. I've seen companies bring in specialists each one gets 10% to contribute about 40 hours of time, and then they make $12k off it a year. See they are /the man/ - key personnel that were needed to make a product to succeed. Its the same for you, but you are less famous.
Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
That just happens to be based in Redmond?
---- Booth was a patriot ----
Branch it, then the branch is a different project, still under BSD.
Do whatever you want with it, the BSD license allows the members of your old project to pick up your changes. You are no longer contributing to the original project, which allows you to claim that you are respecting the NDA. The community benefits from the BSD license exactly as your employer is.
Pedro
----
The Insomniac Coder
A fast-growing 3D visualization firm offered me a great job, but asked me (surprise surprise) what I was going to do "when" I had to quit working on a certain open source project (the one that got me the interview). Based on that, I decided to sound them out and found that their stance toward software was incredibly proprietary, closed-minded and more likely to lead to abandonware and a quickly sold-off company than I had previously imagined.
I didn't take the job. It was flattering that they flew me over for the interview and amazing that they thought I was a perfect match. It was flattering that I would be working with true geniuses and for good money at that. But their terms were ignorant and showed they didn't care about my contributions any longer than it took to make a fast buck. This is NOT the same level of commitment that got me into the interview. I actually cared about the principles I worked with. That's just how I am, I guess.
But I'm not about to lose opportunities just because of stubbornness. I went home and redoubled my efforts to look for new work. Surprisingly, I remained in the same position but tripled my income and found I really enjoyed it. Regardless, I'm happy that I stayed true to myself.
Non-compete contracts (or clauses in contracts) have been ruled illegal in California, because -- guess what -- they are anti-competitive and harmful to innovation.
It may be illegal in your state too. Many states are starting to lean in that direction, even if laws have not been passed yet. You should check.
I do NOT believe in non-competition clauses. Period. And, there are more and more courts who are siding against such clauses. Signing a non-competition clause, if it is enforced, bars you from working in the field at all, come the day the company decides that they canÂt use you anymore. Screw the company, and screw non-competition.
"Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
So um. Why not negotiate a better contract?
Two comments:
First, a lot depends on where you are. In California, non-competes have been held invalid by the State Supreme Court. So if you're in CA, either when you sign the non-compete or subsequently, they can take the non-compete, fold it pointywise, and stick it - it's a totally invalid legal document. But that only applies in CA - you'd have to check with your local legal mavens.
Second, if they're paying you for future work, they can't make you sign over rights/etc. to prior work. A contract is an exchange of value. If they're demanding you give them something of value (your prior work) and not providing you with value (additional payment), then they don't have a valid, enforceable contract, at least not in the US.
I would suggest (a) scratching out the non-compete, and (b) scratching out the "prior work" clauses. And yes, get a lawyer.
never sign anything that will inhibit your ability to do anything in your specific field of expertise. Seriously! I'll betcha at some point, you will wish you hadn't.
How Now Brown Cow
> I'm facing a difficult dilemma and looking for opinions. I've been contributing heavily to an
> open source project, making considerable changes to code organization and quality, but the work is
> unfinished at the moment. Now, a company is approaching me to continue my changes. They want
> to keep the improvements to themselves, which is possible since the project is published under the
> BSD license.
This confuses me a little. If you are already contributing the changes back to the project, how can you keep them to yourself? If you were only -intending- to contribute back the changes, then it makes more sense.
> That's fair, as they have all the rights to the work they pay for in full. However, they also want
> me to sign a non-competition clause, which would bar me from ever working on and publishing results
> for the original open source project itself, even if done separately, in my free time.
Forever is a long time, and probably illegal in a non-compete. The one -possible- exception I can think of is if they offer you part ownership of the company. IANAL, but you probably ought to talk to one.
> How would you approach such a decision?
"No, thanks." Note that I do write proprietary, closed source software. I -don't- sign lifetime non-competes or NDAs, and I don't "make a closed version of this previously open code."
> On one side, they'd provide resources to work on an interesting project.
Just get a realistic valuation on those resources before deciding. It's amazing how fast a pig can disappear from a poke.
> On the other, it would make me an outcast in the project's community. Moreover, they would take
> ownership of not just what they paid for, but also my changes leading up to this moment, and
> I wouldn't be able to continue on my original codebase in an open source manner if I sign
> their contract.
Sounds like you feel they are trying to cheat you and the open source community. Sounds like you have already figured out what you think the -right- thing to do is. Sounds like you want someone to convince you that wrong is right, to give you an excuse to do the wrong thing and make a profit.
What do -you- think?
Let's say you'll be writing code for the next 20 years. This means that you're selling your right to contributing to that project for that long. I think 20 years of anything costs lots of money.
Here in California, it doesn't matter if you signed the non-compete agreement. They can't enforce it:
http://en.wikipedia.org/wiki/Non-compete_clause#Enforceability_in_the_State_of_California
This is why the software industry flourishes here; programmers are free to move about without fear of Non-Competes.
once you release it under the BSD license, that snapshot is always available under the BSD license. You can't retroactively relicense it.
Do you even lift?
These aren't the 'roids you're looking for.
That's what happens to projects that use the BSD license.... Use GPL fo your next project.
True but the GPL would offer no protection for HIS code against this, if he is sole contributor to the project they can just as easily dual-license it to a commercial license and do a similar deal. And just because he accepts this sort of behavior dosent mean he encourages it. OFC he may learn that the best way to avoid this issue is the GPL license (it locks you in to opensource)
IranAir Flight 655 never forget!
But it can't be retroactively removed. Once they acquire a copy under the BSD license, there are no provisions for termination of that license if they adhere to the terms.
Benford's Corollary to Clarke's Law: "Any technology distinguishable from magic is insufficiently advanced."
I do not see any ethical problem here, as there would be with a company that was stealing GPLed code. Anyone contributing to a BSD licensed project is saying, quite clearly, that they are happy for people to develop proprietary forks.
not really.
What they're saying is: this is a worthwhile OSS project, which some putz put under a BSD license.
It's just as immoral to screw over the community on a BSD project for one greedy bastard's financial gain as it is to do so on a GPL project.
The difference is a LEGAL one, not a moral one.
VLC FOR MAC IS DYING! IF YOU DEVELOP, PLEASE SAVE IT!!
You gotta ask yourself how much is the price of your soul. I mean the NDA nonsense. Make them pay at least as much as you value it.
Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
But nobody would pay an artist not to paint. You should talk to a lawyer -- just a consult -- there are laws against overly restrictive agreements, especially if the individual's ability to make a living is encroached on, for one example.
Well, speaking AAL, I think this agreement is extremely restrictive and would probably be upheld. They're not even saying he can't compete against them, but rather simply that he can't compete against them by working on this specific project. He could theoretically work on other projects that directly compete with them, as long as it's not this one specific project.
The indefinite time limitation for this would probably be thrown out, though, and I know around here a judge would most likely say it only lasts for a few years.
A lifetime non-compete is something that should never be considered, not unless they are paying you enough to:
1. never work again
-and-
2. negate the side-effects of you being unable to compete, e.g. enough money to hire a developer to complete the work for you
It's a very dangerous thing to do, no matter how small the project, because of the legal precedent. Non-competes are already in a bit of a gray area, and they're certainly not a good thing in the grand scheme of human progress.
It's not like there's a shortage of jobs out there. You can earn a living doing less despicable things for the same pay, while continuing to work on the open-source project.
One thing you could do is suggest a license change to the project's maintainer, as it sounds like the BSD license is precisely what's enabling these profiteers.
-Billco, Fnarg.com
"High-minded ideals" and "ethics" are nowhere near the same thing.
The BSD license is an encouragement to take a project and do whatever you want with it. This company's actions are ethical.
"You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
Comment removed based on user account deletion
This company want to own and monetize your open source project. They want the keys to your car.
I think you could try to change the contract firstly. If necessary, call a lawyer. If it isn't possible to make that, try to think if the money they are going to pay for you is really interesting to make that. Good luck!
I know this is a common troll, but all this wouldn't have happened with a GPL license. When you chose the BSD over the GPL, you supposedly knew what you did...
The Wise adapts himself to the world. The Fool adapts the world to himself. Therefore, all progress depends on the Fool.
This made me laugh. You're proposing to beat a (to me) rather questionable set of conditions with a creative use of how Open Source works. I like this one. Quality, and if the poster would get away with doing just that it would be a deserved deception.
However, IANAL - worth checking up on this.
Insert
IANAL! Don't trust anything you ready on forums like this, but ...
I believe non-compete clauses are completely non-enforceable in some locations like California.
*IF* you verify that such clauses aren't enforceable in your area, point that out to them.
In either case, I wouldn't sign a non-complete under any conditions. You don't know how long that job will last, and you may have a good offer in the future from another company wanting to do the same thing to the same BSD-licensed project. Keep your options open.
Also, I don't see how the company can hope to get exclusive ownership of the work you have done in the past. That's just wrong-headed.
All of us who are paid to write software are faced with issues like this from time to time. Decide what cannot be negotiated, and let them know the limits. Then, negotiate for the best package you can get within those limits.
I wish you the best of luck, and I personally hope you find a way to finish your work on the open source project in a way that allows the community at large to benefit.
As to your question: I expect that not that many FOSS developers get hired away like this. Most companies recognize the value that the rest of the FOSS community brings to the project. These guys don't. That's going to discourage a lot of FOSS developers from dealing with this sort of company.
Sometimes boldness is in fashion. Sometimes only the brave will be bold.
That last sentence is worth it's weight in gold.
Sometimes boldness is in fashion. Sometimes only the brave will be bold.
But it can't be retroactively removed.
Ah, on further reading, you're quite correct. Bugger. Oh well, it still leaves them stuck with an old and unmaintained version.
Think about switching licenses for your work from BSD to Gnu General Public license Version 3.
Make sure any deal you make protects you and what you want to do, not just them, and provides you adequate compensation for each and every compensation you make.
You don't have to make any deal unless you feel it will have a net effect of making you happier.
Why should you give them more than they pay for? If they want copyright to your already-created work (the right to distribute outside the terms of the BSD license), make them pay for it.
Negotiate either that they pay you a huge lump sum, or that they pay you certain negotiated royalties every time they use the work in a product.
It is reasonable that they require rights to your new work that you create while working for them.
Not allowing you to release improvements they have you make means you can no longer continue working on the OSS project.
Even if they "allowed" you to do so on your spare time, there is a problem of a risk they later claim you improperly disclosed proprietary information or your work on your own time was company property, since it is so closely related to your work.
Very bad... to put the whole community doubting whether or not your changes will survive any legal challenges that may come years later.
I see it as: either, they (A) allow you to work fully on the OSS project, by releasing all changes back under open source compatible sublicensing, or (B) they do not.
Cloudy situations like "can work on it during free time, but not otherwise" are a very bad idea.
Non-competition agreements and agreements that will restrain your ability to work on the project beyond your employment with them is also a bad idea.
Think.. they could hire you up, get you to sign all the paperwork, keep you a few months to fix a few bugs, then fire you in place of cheap outsourced developer labor.
Confident that they have killed a source of competition (since you can no longer work on the project)
The standard "non-compete" has been beaten in court so many times it is ridiculous.
First, they should pay you well for your time prior and future. If the money is worth it, go for it.
Get a lawyer.
Typically speaking, when you eventually leave the company, I presume you will be an "expert" in the field. No "non-compete" can keep you from working in your field, these are seen as overly broad and unconscionable.
Get a lawyer.
Negotiate the contract.
Most importantly, understand exactly what your expectations are, determine exactly what line you will not cross, and negotiate.
Remember, I presume they are offering you a lot of money for your expertise. They have a business reason to do so, that puts you in a "power" position. Don't forget that.
Second, make sure they put, IN WRITING, that for any lasting "non-compete" there must be on-going compensation. If they are deriving value from your work and they wish for you to NOT derive value from your expertise, they they should compensate you for what you would otherwise be doing.
Generally speaking, a "non-compete" is only enforceable within the context of the on-going business and customers of the previous employer. If you leave "World Wide Widgets" and create "Universal Widgets" because you are a widget expert, they can't keep you from earning a living. They can, however, keep you from poaching their existing customers and employees by using "business" and contact information gained at the prior employer. Your "core" competency is yours and they can't keep you from earning a living with it.
...then publish it far and wide. Contact the media, the whole nine yards. Evil must be exposed before it will ever be punished.
The other side of this is to note that non-compete agreements have in some areas, been found to be unenforceable. Contact a lawyer, and perhaps negotiate a satisfactory agreement with the prospective employer. But realize what kind of company you're fighting to work for in the first place.
The right to release another version under a different license.
They would only have that right over the portion of the work that he was responsible for, not the whole work, so that would be meaningless... it would revert to the right, already granted under the BSDL, to release the code under an additional license as well as the BSDL.
they wouldn't be legally required to credit him (or her) in their derived work.
They would also not get the right to remove any other names from the project's license, so, again, they wouldn't get anything meaningful in terms of the attribution terms in the BSDL.
So they're not getting any meaningful ownership rights overt the work he has already done.
The only thing this would cover is work that he has not released to the project. Of which there shouldn't be any, if he's actually following open source principles. It doesn't cover any code that is already in the project.
Seriously. My first reaction was, "Hey buddy -- how's about you negotiate the fscking contract so that the terms aren't so skewed against you?" I hope everybody on Slashdot does realize that when somebody hands you a piece of paper and says that they'll pay you a certain amount of money if you sign it, it is possible to sign a completely different piece of paper and still get the same amount of money.
Breakfast served all day!
No-Compete agreements are illegal according to the foundations of the "Free Enterprise" principals of a capitalistic society. America was founded on freedom and Freedom of Enterprise. Competition is good for the system.
My reference to being "illegal" is, of course, only from a capitalistic perspective. Fine lines between grey and black here.
By signing a No-Compete agreement, you will have given away your rights to Freedom of Enterprise. Never agree to and sign any No-Compete agreement! EVER. You will regret it later.
If the code is open source, and you love the project, you can walk away and fork it to continue it's development.
"Suppose you were an idiot...and suppose you were a member of Congress...but I repeat myself." Mark Twain
do it
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
Refuse the "not allowed to return to your project upon leaving their company". You know that you won't be able to pound out the same code as you do while working for these guys after even 6 weeks of not having the EXACT source code in front of you. It would be different code for sure.
YOU need to be honest and not work on it for "open source" while working for them.
Every programmer I ever met has a modicum of trouble reading their own dang code for "important points" after a few months. All you will have is what you can keep in your head.
Your prospective employer should know this so tell them NO to that provision.
That was Zen, this is Tao
The non-compete part really stinks. Not sure what state you are in but here in california those types of aggreements are really hard to enforce. http://www.employlaw.com/noncompete.htm/
Moreover, they would take ownership of not just what they paid for, but also my changes leading up to this moment
They can't do that. If you have already contributed this code to an open source project under any licence that works under copyright law, then that contribution *cannot* be revoked. You can't let people use something and then say, 'Psych! Stop using it now! It's mine and I've sold it!' Not legal. Not possible. All that you can offer them is future changes you might make (i.e. 'completing your project') that you have not previous released. That should keep you within the law and also probably be a little bit easier to swallow, ethically. Basically, the worst part of the ethical dilemma you are having cannot even exist, legally, so just tell them that and stop worrying about it.
100% agreed. Just be sure they won't force you to stop working on other open source projects, in your spare time. Working, AND getting paid, to develop a code base you started is a killer deal. DO IT!
By signing this you are selling off something important to you to them. You must also realize that if they should fire you, then you have no more project, and you lost all your work in the project.
An exit clause in the case the company should lay you off is not necessarily enough neither, as they can sell the company / project to a 3rd part, etc. Not to mention the company starting to do something with your work you that goes against your moral, simply to make you leave, or not anymore want to be part of it?
What so ever you do in case of wanting such a contract, you got to talk to a lawyer to ensure all the terms are right, say what matter to you and make sure those terms are there.
- There might be possible to add clauses for a fixed time you require to work together with the company before signing over the rights
- Requirements as to what should happen in case of takeovers of project/company to another company
- In case of layoffs/dismissals.
You really need to consider the short term / long term consequences for you to sell your work to them.
Have you discussed your situation with them?
If you simply note that such a clause isn't acceptable, you would leave the choice to them. You could listen to the /.'ers that aren't in your position about such clauses not being legal, but you are on the receiving end if you decide to ignore the clause after you're done.
Explain to them that you are only willing to work on their project if the clause is removed, that such a clause would make your further work on the open source project impossible and that the nature of open source is that changes are put back into the main project. This is the professional way to work out such issues.
If however they insist, it's up to you to decide how much leverage you might have with them. If you mention that this is a deal-breaker, they might cave in (you are an expert on the project and would do a much better/quicker job than someone new). If they don't I would walk away from the project myself. There will always be other opportunities.
This sig is intentionally left blank
If you haven't released the changes yet then how do they know what you have done? It seems as if there is some information missing here.
http://www.popularculturegaming.com -- my blog about the culture of videogame players
If you are fine with it and have no problem morally then go for it. Next time you do something open source think twice before you choose a BSD-like license. GPL is not popular because of raving communists, its a very tought trough license that shields from evil corps and makes them behaive better. BSD licenses are more of the "please rape me" style.
HTTP/1.1 400
OSS doesn't exist to make the world a better place.
OSS developers don't subsist on mere air.
Development seems to exist on two fronts. Individuals that want to make something cool as a hobby and people who do it as their paymaster has deemed it ultimately financially rewarding for the company to do so.
If it's your code, you don't owe the world anything - so it's just a simple decision of deciding what you want to do with it. Sounds like this was a hobby project so
Either:
You kill your hobby to enable you to make a living off it - and you can always get another hobby.
You keep your hobby and carry on getting paid in whatever way you are at the moment.
I thinkt he above two points boil down into how much you enjoy your hobby, how much you hate your real job and those both relate pretty directly to how much money's being offered.
Personally I'd just take the money - but the very fact you're posting here (and surely anticipating the response) marks you as a lazy masochist who can't be arsed with self-flagilation.
Its now put up or shut up time for you. You will have to either be a moral person and continue to do whats right or give into the money and coporate greed structure. This is simply a way for them to get you to be their puppet at the least cost for them. Say no! They will move on to the next lowest person on the list.
1311393600 - Back to Black
The problem appears to be one of trust. Maybe I'm reading the repliers' paranoia into the original poster, but it seems that you are worried that the company is trying to screw you. When you think your employer is out to screw you, that cannot make for a good working environment. By all means you should ensure the employment contract is fair to both you and the employer (and get your lawyer's help if you have any doubt), but you should also have a "gut check". If you don't trust them on day one, how can you expect to work successfully with them?
I hate it when I make a joke and I get modded "+5 insightful". Mod the stupid comments "funny", not "insightful", pleas
1) From what I understand, the code you already wrote is out in the wild. If they want locked code from you on top of that, the only way you'll be able to provide it to them without doing anything illegal or the deal being invalid is to write their proprietary part as a patch.
2a) As people have pointed out allready certain Non-Competes may be illegal, so signing them may mean squat anyway. Check the laws on that where you live.
2b) Non-Competes are often rippoffs. A rule of thumb I like to use is the following: Unless you get big time money and can go on an extended vacation to learn a new technology or dive into a project and reach the same level as the one covered by the non-compete or can feed yourself and your family of the royalties from the agreement until it runs out you shouldn't sign it. And if your contractors are willing to do that they probably have enough money to sponsor a rewrite which you can offer to them aswell, which ever bodes best for you.
3) I had a very simular situation where along the run my partners and I would've gotten into a fight over wether they own the code or just the module which I built for them. Even though it would have legally been me owning it without the slightest doubt, I didn't want to spoil the relationship with partners simply because they didn't understand OSS licencing - which is understandable.
I told my next partner in the contract chain something of the following: "Give me the money we agreed on, free reign whilst implementing our product and keep the end customers of my back for a few months and I'll build a modular system that won't require a programmer for each little change. You'll be able to have secretaries do the grunt work using a custom editor that outputs XML config files. You pay me and get all that for free, a dual-licenced code-base with you *and* me both owning 100% and in exchange we GPL the entire shebang, slap a brand-name on it and continue our successfull co-operation into further projects."
He agreed and we went on to have:
A) An open source project that leads the field by far with our companies names attached to it and my personal name attached to it as project lead with the accompaning bragging rights (and User Thank-you emails arriving at my in-box to this very day) ...
B) The largest competitor in our field kicked out of their pitch due to our far superiour open source project and it's custom extensions for the end customer with the big pockets (a Pharmaceutical Global Player) ...
C) said custom editor developed by a third party partner company / our now drinking-buddies for minimal costs as they wanted to leverage the new OSS project themselves ...
D) a dual licenced code base that keeps everybody happy and proves that I put my money where my mouth is and have no trouble moving into the OSS version of our product if I'm cut out of the loop our the partners go out of business / other ways - which is sort of happening right now with everything still fine and dandy between us all - ...
E) ... and after the first iteration all involved noticed what was clear to me right from the begining: People and corporations don't care squat about under which licence you implement your shit. As long as it works and you're there to help middle management justify the expenses in front of the chiefs.
F) A super-pure conscience for me and a great feeling of having done something good. Plus two years of good worry-free living as a freelancer.
Mind you, this is a web project, so YMMV - but that pretty much sums it up for any situation I can think of.
4) / Bottom Line: You've got the strong end of the stick. Be understanding but don't be foolish. Talk to your partners and cut a deal that makes you and them feel comfortable. U
We suffer more in our imagination than in reality. - Seneca
You probably got the current offer as a result of your work in the community. If you continue to build that network through good work, you will probably reach a point where you have far more opportunities than you do now if what you are working on is seen to be worthwhile.
Or, you can trade your reputation in to work for the people making you the offer. Do you plan on staying with them long enough to build a new network and for people to forget what you did? It sounds like you know it won't go over well and will burn some bridges.
In my experience, it's a small world and karma is a bitch. So, unless you are talking about a set-for-life kind of deal, it's probably a bad idea.
On the other hand, I don't think you have an ethical conflict here. If you are talking about the chance of a lifetime, you should do it. After all, it is your work and you should benefit from it even if your associates will hate you for it (your friends will understand, set for life is a big deal). You just have to decide if the opportunity is worth the price you know you will have to pay...
My guess is: probably not.
...and no regrets.
If not, you'll have to decide what you're really about.
"Not an actor, but he plays one on TV."
Otherwise how can they make sure that you won't just copy the code you write for them and later add them to the project. After all even if you would have to rewrite all the code, because you don't want to copy and paste for legal reasons it would still be much easier the second time. So chances are you would do just that after you left their company. If I was in charge of that company I would make you sign that as well.
OTOH at the end you write that they want to take ownership of some code you wrote before. How much are they paying for that? If they don't want to pay anything for that how will you know they won't cheat on you in the future? Because just taking all that work and not paying is cheating. So ask them about money for all the hours that went into the code you already wrote. If they don't make a fair offer I would think again about working for them.
Firstly, I'd have heartburn with the whole non-compete portion. You got this offer due to your work on this project. Likely you'll get future offers based on your familiarity with this project and ability to do things with it. They're asking you to foreclose on all those opportunities, throw them away before you even get them. I wouldn't do that unless I was truly desperate for money to pay the bills, or unless they were willing to compensate me for the expected value of all those no-longer-possible opportunities. In short, I'd be wanting compensation not just for the work they want me to do but for the impact of their demands on my entire career for the rest of my life. I think that's only fair.
Secondly, they sound like they don't quite grasp the licenses, and that would worry me. Once code's been released under a license, it can't be taken back. They can take ownership of what you wrote if you give it to them and then going forward refuse to release it under the BSD license anymore, but they can't unlicense those copies already out there nor prevent people from doing what the license permits with what they've already got. If they think they can, they're either in for a nasty shock when their lawyers enlighten them or they intend to play dirty and try and knock down the whole project so they can have sole possession of it. Either way, I wouldn't want to be connected to the mess that's going to result. Again, the backlash is going to have negative impacts on your future career, and I'd be wanting compensation from them for that. And we're not talking just about the time you're working for them, we're talking about the whole rest of your career here.
Personally I'd be willing to do proprietary work for them, but I wouldn't grant them ownership of anything except what I'd written specifically for them, I wouldn't agree to an open-ended ban on future work and I wouldn't agree to an extended non-disclosure period without them compensating me for the entirety of that period.
GPL doesn't stop you making a proprietary fork any more than BSD does.
Chernobyl 'not a wildlife haven' - BBC News
Oh well, it still leaves them stuck with an old and unmaintained version.
No, they are not stuck.
Your unpaid work on the code base helped establish the desirability of the code, and the desirability of your services.
Consultants with an edge are loathe to grant a non-compete except in situations that raises possible conflicts of interest. If you need to start from scratch on another project, how much will it cost you in time and materials to become an expert on another project and be in a position to attract a similar offer?
They are paying for work done, and also paying to make sure nobody else benefits from your expertise on the whole code base, not just their enhancements. Those are two separate price factors. Separate the expertise from the exclusivity. Figuring out what an expert is worth commercially shouldn't be difficult. Figuring out how much the exclusivity will cost may be.
Depending on the contract you sign, you might not be able to work on the code even if they kill the project before you start work, so your exit clauses need to take that into consideration. And you have to consider what you have to do if they don't pay you.
I don't see anything wrong with this kind of arrangement, tho it can be impossibly hard to enforce the contract if either side isn't sincere. I presume it to be the start of a long-term arrangement, otherwise it isn't worth considering.
I would try to get 'em to agree that you would grant the client exclusive use of their design and implementation, since they would own that code, but I would avoid agreeing to a blanket non-compete.
- Not a lawyer
If you aren't willing to walk away -- then they are in the driver's seat -- if you are -- then your in the driver's seat.
Other thing -- don't assume the work agreement is non-negotiable -- it most certainly is negotiable. You do have to have something they want very badly to negotiate however.
Also my personal reaction: If you wanted a perminant job with the company, then in the end you'll have to be flexable -- though you can still negotiate some. If you don't want a perminant job -- then negotiate a very very very narrow agreement that gives them only the minimum of what they need and has a very limited period of time. For example I'd be tempted to limit only to the specific modifcations or code that you make to the project on their behalf and that is not released to the public. That way -- you can work on the project as long as it does not duplicate their functionality. If they are not willing to do that than they may be more about controlling you and potential competition then about a good faith give and take relationship.
I think a lot of the other comments were good -- i.e. don't underestimate your value and include some protections -- like a signing bonus or severances etc. Be clear about what YOU want.
Rob
The intent of putting in conditions which aren't legal isn't so much to stand up in court, it's to place obstacles in your path to inhibit you from doing something they don't like.
If you signed a contract with BIG COMPANY that said you could never speak ill of them ever again or be faces with the cost of repairing their reputation plus $1M, I'm guessing you'd shut your mouth. Or do you have months to litigate the issue and 6 figures to fight against BIG COMPANY through all the hearings, processes, court procedures?
The legal system is very much geared towards those that can afford to use it both in terms of time and money and with the exception of those with deep pockets is a place to be avoided almost at any cost.
You were mistaken. Which is odd, since memory shouldn't be a problem for you
This is one of the stupidest things I have ever heard. People negotiate over who washes the dishes and who takes out the trash. You don't need a course in school to figure that one out.
-- http://thegirlorthecar.com funny dating game for guys
If this was a GPL project, the company could still be making an identical offer.
Know why? Because part of the deal is for the dev to sign over his copyright. If he does that, the company can relicense his code to some proprietary arglblargl without the least bit of legal trouble.
Provided that the OP holds the copyright to the code in question (likely, given that the company wants to buy it in the first place), BSD versus GPL has nothing to do with this.
(rot13) rpbzbab@tznvy.pbz
No, that's not what I meant. If I have a piece of code that's under the BSD licence, and I change my licence so that subsequent versions are under the GTF licence where company XYZ is not permitted to even look at the source (and, under copyright law, that would stand up), then company XYZ is stuck with the old, outdated BSD-licenced version. Just to be even more of a bastard, the first thing I'd do is roll out a bunch of patches that broke lots of compatibility with the older versions, too.
Ask them to remove the non-compete, or limit the non-compete to a reasonable period (say 5 years), or pay through the nose for the privileged.
If they won't vary the terms then either they know something you don't and are trying to fleece you (ie. you'll find out something by working for them that could make you a lot of money), or the company is so inflexible it's going to be hell to work for.
If you want to see how badly you can do by agreeing to voluntarily giving up your IP rights for a relatively small amount of money see this guy:
http://en.wikipedia.org/wiki/Gary_Kildall
Never trade future possibilities for small potatoes today.
These posts express my own personal views, not those of my employer
forever. that is a deal breaker. if they need "you", than you should be able to re-arrange the terms. imaging earning more than enough money to support your own projects, only to be sued and destroyed by the very team(or project) you helped build... sounds to me, you are on the fence, and a very high one...choose carefully. best of times should be infront of you.
happy trials
1) They made you an offer because they are interested in YOUR work on THIS project. What if next offer comes with bigger price for working in this project 2) Read #1 and think about the non-compete clause again. Repeat until you realize the catch.
Could you explain to me how you would close off BSD code? Sure, you could distribute binaries without source, and make whatever changes you want to your copy of the codebase and distribute binaries based on your new codebase: But how would that effect the original code?
Once it is out there under a BSD licence, it is out there, forever free. Really free: with no open-source-only restrictions like GPL.
Prediction for end of Universe #42: Fencepost error in Quantum_bogosort.cpp
I have a funny feeling they may be paying you just to go away.
I've heard plenty of cases where natural remedies are bribed OFF the market by big pharma. Perhaps this is similiar.
At any rate, a big company asking you to sign a non-compete on your OWN code that you wrote independently sends up a bazillion red flags.
It does if its not all your code, as implied by the summary. Linus could not fork the kernel but Theo could
IranAir Flight 655 never forget!
Honstly, if the code is BSD licensed, the only reason they want you to do this is to get rid of competition for their own benefit,
Except they can't get rid of competition. The BSD code is still available and other programmers can use it. The most the employer can do, depending on what BSD license is used, is close any code added.
Falcon
Should there be a Law?
The bottom line is, they are the ones who approached you, because they want you. You should realize you are in the strong position here, and be the one who dictates the terms.
Granted, a compromise will be necessary, as always. But be the one to draw the line. Get a grip and decide the values you don't want to give up. Make a fair offer and let them take it or leave it.
If you are really good, you have nothing to worry about. Either they will accept your terms or another opportunity will present itself to you, sooner or later.
If you are not really that good, they will figure out in time, and you will not be better off.
Dictate the terms, but be fair. Remember that you have nothing to lose.
I have next to no knowledge in this area but this seems strange to me. How can they buy what the guy/girl has already contributed? If it's already committed to the project doesn't it fall under the BSD license?
Conservation of angular momentum makes the world go round.
BSD licensing is practically the same thing as throwing your code in a junkyard or landfill. It's a travesty.
GPL = user freedom
BSD = programmer freedom
What's travesty is telling programmers what they can and and not do with their code.
Falcon
Should there be a Law?
here is a thought,
take their money for the labor, sign the non-compete (make sure it is in perpetuity) wait two years, release the code.
There is not a court in the land that will let an in perpetuity non-compete clause stand. Contracts have to have a termination date, a renewal date, or related clause that let's you opt out. california already threw out unreasonable non-competes.
they sue you, you counter-sue for restraint of trade, you win.
talk to a good lawyer.
I would *definitely* consult a contract lawyer, especially with all of these variables on the table. THEY have contract lawyers, you'd be a fool not to protect yourself and your assets.
With a house you have an agent acting as a proxy.
Except in most cases a real estate agent doesn't really work for the buyer. Unless an agent is specifically hired as a buyer's agent the agent may tell the seller what you tell them. For instance if you are willing to pay $500,000 for a house but try to get the seller to reduce the price to $450,000 the agent may tell the seller you'll pay $500,000. You avoid this by either paying a buyer's agent to represent you or by going through a Realtor.
Falcon
Should there be a Law?
It is actually lame you are even asking this, a non-compete clause is as unacceptable as heck... Really dude, have you stopped to think that it could be used to stop you from doing even projects unrelated to this thing?
Copyright infringement is "piracy" in the same way DRM is "consumer rape"
By using BSD he now has this option, which he could choose to refuse.
By using something like GPL, he would never have even had the choice.
If he's the sole copyright holder, GPL licensing does not matter, he can release future code under any license he wants.
He may even close the code for future versions, or switch to BSD.
What he cannot do is to cancel the license for code already released under that. Unless the license has a provision allowing cancelation at copyright-holder's will, but in such case it could not be considered FOSS anyway.
If I get money by some means you consider honest, and then use that money to pay people to abduct children and sell them as sex slaves, then holy fuck: what I did with the money was quite a lot more important than how I got it.
Ans what if you made the money by enslaving children to be sex slaves?
Ooh, and not all children sex slaves are adducted. In places like Southeast Asia, parents sell their children into slavery, though the parent may not know that.
Falcon
Should there be a Law?
Please, let's not transform this into another BSD vs GPL discussion.
What you call a "open-source-only restrictions" is what the GPL-side folks believe make the license - in practical terms - more free than BSD.
People decide which license they believe is the most appropriate one for their projects and their own ethics.
Dear original creators of this project,
This is why you don't use BSD-like licenses.
Property is theft.
Money can't compensate for some things but it can for others.
I was in a somewhat similar situation a few years ago, and I said no. In my case it was not as bad deal as for darkeye. I would have felt totally miserable if I would agree upon something like this.
If I created a "killer app" or "killer website" and was offered a sum of money to sell it, with a non-compeat clause, I may have to think about it. Was the project something I put my heart and soul into? Is the amount offered $1 million or $1 billion? How much, and under what conditions, would others pay for it? If it was something I just worked on causally and didn't think it was worth much I'd take the million dollars, even with a non-compeat clause because I have other interests. If however it was something important to me and I had no other interests I wouldn't sell for a billion dollars if I couldn't continue working on it the way I wanted to.
Falcon
Should there be a Law?
First of all, what ever price you think is reasonable for your efforts, you should at least double it. I find that developers, while very proud, frequently underestimate the monetary value of their work.
Second, you should realize that in most states (I assume you are in the US) merely agreeing not to compete isn't actually legal. But if they write the contract correctly and they pay you specifically not to compete, then it can be binding. The term of the non-compete should not be "forever"... between one and three years after you stop working for them is reasonable and "reasonable" is one of the expectation for a valid agreement. Spin this a benefit "to them"... after all don't they want a legally valid agreement? See a lawyer for details here.
If they really want an evergreen (ie, perpetual) non-compete, then pick an annual fee for your non-competition and give them the offer of paying you annually, forever, to not work on this project. (You lucky sob).
If you really are torn over this, then imagine a ridiculous, potentially life-changing price for the work in question plus the non-compete and propose this price to the company. If they agree, then go for it. Sometimes in life your priorities change... that's not selling out.
BTW... it might not be so easy to see now, but there will be lots of interesting oss projects to work on during your lifetime.
"Unlike the permissive BSD, the GPL license lets developer make choices that you might not like, for the sake of code freedom."
It depends one where you're coming from in general, but the GPL doesn't let developers make some choices. If I work on a GPL project that's that, the code has to remain open. If however I work on a BSD project I can close the source so long as the license allows it, there's more than one BSD license and different projects use different ones.
BSD license = freedom for developers
GPL license = freedom for users
Falcon
Should there be a Law?
If he was the lead developer in a minor OSS project and the project's site closed down, it is still an open source project... the downside is no one can get the code.
Saying he was the lead developer presupposes there were other developers and those developers should have the code as well. So the old code is still there.
Falcon
Should there be a Law?
How much are they paying you? In my opinion, If it's less than high six or low 7 figures a year, they aren't paying you enough to agree to a non-compete contract. Here's a piece from Joel's article:
The lessons of history teach us - if they teach us anything - that nobody learns the lessons that history teaches us.
I have thought of a few extra things since I posted my previous comment so this is an additional caution advising you not to do so
Even if the non-compete clause ("NC") is held to be invalid, do you really want to go through a fight on the issue if it comes down to it? It's entirely possible the NC provision might be enforced despite what some posters here say.
See my earlier remark quoting Joel Spolsky. His comment is do not accept an NC unless the employer is willing to continue to pay your salary until you find a job that's acceptable to them.
Unless NCs are completely illegal in your state, it most likely will be upheld, even if the reason you're not working for them is because they went out of business. I've heard of people discovering that after some companies cratered in the dot com bubble, their NCs were still enforced by the receiver of their former employer.
I didn't know then what I know now, and I agreed to one where I worked before, but it was extremely limited: it prohibited working for another software company developing the exact same type of application (software dealing with management of non-profit organizations) and was for one year. I do not think I would agree to a non-compete clause today. I'd have to really be hurting and really need a job really bad before I would.
They're not going to be paying you enough to make it worth while. You are far too valuable to sell yourself that cheaply.
The lessons of history teach us - if they teach us anything - that nobody learns the lessons that history teaches us.
If you want to be an idealist and donate the code to the good cause, that is fine too.
By working hard on the project you've earned the right to do with it as you decide. Don't forget that you call the shots on this one.
I would try to see if that company is really going to make it and then try to get some stock in return.
Or, maybe better, explain to them the value of open source and let them pay you to maintain the code in such a way that they can build their product on top of it.
Open source is nice, but if it would be unprofitable by definition it wouldn't be very successful...
Show a man some news, distract him for an hour. Show a man some mod points, distract him for the rest of his life.
Even if they are bigger and they approach you, it doesn't mean you have to surrender. You have something they want: the deal will be done on your terms, or not at all. You haven't needed such a deal before and you've still successfully kept hacking on the project.
Nevertheless, if I were to get down to business like that, I would:
Well, young coder... choose well... let your choice be as enlightened as possible.
Ok fine they want to keep on the new feature for themself. that's fine, they are paying for them. But at least try to tell them that bug fixes should go back to the main repository. This will keep merging from your private vendor branch easier...
You might be able to convince them that it's actually in their own interest that you contribute code back to the project, as it's still BSD and they can still use it. In other words, it seems like they don't want anyone to have the improvements that you would otherwise make, even if they don't want to pay for it. A lot of companies have such clauses simply because they don't bother to think about it, and they're compelled to be as mean as possible, since that's somehow supposed to be more grownup behavior. Usually though, those with the most cynical view of open-source software development as competition, even when it suits themselves, tend to know absolutely nothing about it. Use that.
If it makes you uncomfortable you could try explaining that to them and ask if they'd be willing to budge on the terms of the contract. Try asking to speak to a senior technical person rather that someone from HR or legal. Be honest about why you have misgivings and explain to them why it might be in their interest to allow you to contribute back your work (if it really isn't in their interest then you'll obviously face a tougher time talking them round).
If that fails then it's really your call as to how important the job is to you versus the project.
Honestly, though, I wouldn't feel too bad about not contributing back. The BSD license is exactly designed to allow companies to do what they want to do. Anyone contributing to a BSD-licensed project should be well aware of that. The others working on it might be disappointed, but if they shun you then they're working on the wrong project and/or idiots.
Final bit of advice: an open-ended promise never to work on the project again is probably unenforceable and almost certainly negotiable. You should argue it down to 5 years if you do nothing else.
They came to you. That means you're already in a position of power. Negotiate. Ask for at least 50% more than what they're offering and tell them "no" on the non-compete. If they're serious, they'll come back with a counter-offer.
I am really sad to hear this. I read slashdot all the time, but never created an account, till now. I was in the same boat as you about four years ago. I took the money, it seemed like alot at the time. They also continued to use me as a consultant. I spent the next serveral months training thier staff programmers. Until one day they told me that my services were no longer needed. They were very kind about it. They gave me the impression that they would use me in the future. I never got the call. I also signed a non compete. I had spent years of my life developing and refining the solution. I regret the decision i made. At time i felt, i was being given a terrific oppurtunity. I felt indebted to them and poured all of my knowledge and insight into their product. I thought they were doing me the favor. I realize now that I was was in the postition to create the deal i wanted. I dont want to tell you not to take the deal. I would just like you to know that you are empowered to define the terms. The company went on to offer the solution as an online service and probably made millions.
Linus could make a proprietary fork of the kernel for in-house use. Google does already. The GPL is only a distribution license. Without knowing what this project is, we have no way of knowing how it's being used. If, for example, it's a financial analysis tool and the company hiring him is an accountancy firm then the GPL would make no difference. He could assign them copyright on his patches and they could maintain an in-house fork of the project. They wouldn't be distributing it, they'd just be using it themselves to gain a competitive advantage. They could keep pulling in changes from the public version without any problems. It's only if they want to make money distributing the software that it's a problem, but 90% of software is written and used in-house.
I am TheRaven on Soylent News
...with a broken glass bottle.. and then sit in a pool of Tabasco sauce.
Why should you be free?
You, my friend, are a bundle of information expressed physically.
Freedom is not absolute, but then RMS is not talking about absolute freedom, either.
Freedom of information is freedom of ideas, and without freedom of ideas, people are not free. (Whether or not you believe my introductory neo-transcendentalism.)
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
Should be modded informative.
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
"Darl McBride" sounds nice and trustworthy.
If you were blocking sigs, you wouldn't have to read this.
Don't sign the noncompete just as a matter of course. It sounds like working this project is important to you, so make sure you ask for what it's worth. Consider the possibility that you'll get hired, sign the non-compete, then 30 days later they'll cancel the project (while your non-compete remains in effect). That's a risk that you're taking, and they should compensate you just for taking that risk.
Also, get a lawyer's advice. Regardless of the non-compete, if you work there, then quit and continue working on the same project in the open-source field, they might accuse you of copyright infringement. I'm not sure what you can do to deal with that---that's what lawyers are there for.
But yeah, consider the risks they're asking you to take, and ask them to compensate you in return. There's no reason why you should take all the risk here (or in any contract).
http://outcampaign.org/
thanks guys for the all the replies to my question. some questions were raised repeatedly, so let me try and answer them here:
- how much money are we talking about?
we're talking about at most 300 hours of work, with our regular hourly rate as a subcontractor (I'm in the subcontracting business anyway).
- how much effort was put already into this on my part?
what I'm doing, and what they are interested in is a refactoring of the project so as to improve quality and reliability. I've done about 3/5th of this already in my own time, while working on an art project. correlating with the 300 hours for the remaining 2/5ths, that's about 450 hours worth of work
- how are they making me abandon the open source project, as they only want to have exclusivity to some of the work?
by insisting on this exclusivity, I won't be able to contribute to the project without their lawyers being able to allege that I'm in fact sharing the results I mode for them originally
- how are they getting hold of my original effort this way?
what they are asking me is to finish the path which I started, which beginning does not make sense without the end. as they aim for exclusivity for the end of the route, one can't use the beginning in a meaningful way. it's like closing just a small part of a bridge - you can't pass the bridge without opening that part, no matter how small is the closed section. this way, the open parts become meaningless.
You posted this to slashdot because you know deep down this is wrong. So... say NO. Also you know that this product you are working on is getting hot, or a commercial entity wouldn't be interested. So...
finish the code and post it everywhere on the net. Hire yourself out as a freelance consultant. Add the code to your portfolio and show it when you go on interviews. Work for an Open Source company.
Whenever someone attempts to stong arm you that's a sign to not sign up.
Is it really worth it? Only you, have the answers, little grasshoper. Decide you must.
I am not a lawyer, even on TV.
I agree with the earlier posts that say HOW MUCH money makes a big difference, but I'd add some other stipulations - you need to make damn sure that you don't end up with a short term payment for a long term screwed. You might even end up in a situation where they have the best intentions but go out of business and get bought by someone else.
barring you from "Ever" doing something is no good. The only saving grace is it might be so not-good it's not even legally for them to do, especially if they're actually hiring you (in which case it's almost certainly an invalid contract) But save everyone the discomfort and don't sign a terrible contract.
To just do this in perpetuity, this would have to be an AMAZING amount of money upfront, in my opinion. This could be an hourly rate, if it ALSO comes with a guarantee to give you X hours of work, and doesn't have a lot of broadly-worded ways to get out of it. Don't sign that agreement and have it 'turn out' that they only want you to do an hour worth of work.
Personally I think having an upfront payment (or reasonable contract to work for X) but also annual payments would make sense. Even if these annual payments are for a completely token amount (like $1), if the contract is worded properly and they FAIL to pay you, you get the right to contribute back... so you can contribute if they go bankrupt, etc. and that project just gets abandoned. A modest but not token amount - maybe even a couple hundred $ / yr - might be enough to make you feel like it was worth not working on that project.
Looking for freelance Actionscript (Flash/Flex) or ColdFusion work and/or freelance developers. Email me, put Slashdot
>> On the other, it would make me an outcast in the project's community. Moreover, they would take ownership of not just what they paid for, but also my changes leading up to this moment, and I wouldn't be able to continue on my original codebase in an open source manner if I sign their contract."
There is more going on here than is fair, or just them protecting the code you are writing for them. Have you considered that their real motivation might not an interest in the work you will do for them at all, but that they are trying to stifle/destroy the development of the opensource project because its in competition with one of their commercial projects, either real or planned? If so also consider once they have your signature to not work on it any more they have no motivation to actually employ you long term.
Even if this is not the case I agree that companies should be able to protect their investment, but it is not fair or right of them to expect to own your life either. As a European that moved to the US a few years ago I was amazed to see how much Americans allow their employers to mandate their whole lives, not just during the 40 hours you're paid for. You all beleive you're the land of the free etc but certianly don't act like it.
Comapnies will always push for more and not epxect to get everything. Consider negotiating distateful or unethical clauses out of your contract. Consider that you and your employer must be entering into a business agreement of two EQUAL parties. If their contract abuses that equality then go somewhere else as its only an indicator of what their whole mindset will be once you work for them. They may actually repect you more later if you get them to remove those clauses first. Also don't foget that they probably need you more than you need them, given your position and experience in that particular open source project.
If you did, and you do this, you will be a shamed man. Not to us. To yourself. You'll probably end up using cognitive dissonance to transform yourself into a more callous and selfish individual to escape the dichotomy.
How bad do you need the money? What are you prepared to do to yourself to get it?
I mean, seriously, it's not like I can wire slashdot karma to the bank, or buy gasoline with it, now, can I? If you've got a family to look after, then, making a bunch of free stuff takes on a whole different meaning. I mean, can you tell a wife who is hungry and a child without clothes that, well, you are "making the world a better place". That's ridiculous. You should not be writing software for free, in the hopes that some magic will pay your bills for you.
This is my sig.
I'm assuming you would be working for a flat rate.
Suppose you took the deal and began work. The next day, the company decides to abandon your cause and fires you. You signed a non-compete agreement, which means you are legally obligated not to work on the project you enjoy. Regardless of what they offered you, termination would still bar you from working on the project that you want to work on.
Sounds like you need to negotiate the non-compete out of the contract or make sure they can't terminate you and expect the non-compete to perpetuate (or screw you in some other unforeseen way).
You can teach someone what you are doing, and keep helping him as a tutor, you will be contributing but not directly .. even if the input of the knowledge is a source code !
But for me the contract is bullshit !! What are they so afraid of .. we are in 21 century already
Quite a lot of stuff requires more free time than one person can provide.
Somebody has an idea about something they'd like and they start coding away. Once it's in a reasonable shape they might add it to somewhere like sourceforge.
Quite often they're happy with what they've done and it's just a nice way to distribute it and share it. Sometimes they do it as a way of pulling in other contributors. Maybe somebody with expertise they're missing, somebody with a bright idea for a new direction or simply somebody else to share the vision and help out with the implementation.
Randomly browsing SF projects you can see examples of all of the above - and an awful lot of still-born project that were offered up to the world and rejected. In fact that's one of the things in OSS that is so overlooked. There's an awful lot of crushed dreams to be seen if you go down the search rankings. Stuff that a commercial company would have canned gets made with blood sweat and undoubtledly tears - and then just withers..
Thinking through that though, maybe it's not as bad as it sounds. People can autopsy and salvage whatever they find and fold it into their own OSS - but still a little sad.
If I had to summarize OSS code is like a child. It's been nurtured and cared for by somebody - but eventually it's let go of and offered up to the world.
Stuff that always strikes me is weird is stuff like OpenOffice. I mean how f'in soul destroying and 'non-fun' is it trying to clone Office and make your clone 'suck as little as possible in comparison'
Richard M. Stallman wrote me an e-mail on my issue, which he agreed to being published as well. This is what he had to say:
For the sake of the free software community, assuming the program you are working on is useful (I don't know its name or what it does), please don't accept the contract you have been offered. Please tell them it would not be right to accept pay to deny the community what you have already planned to contribute.
(I won't say "open source community" because our community wasn't built by the ideas of open source. It was built by the szabad software movement. See http://www.gnu.org/philosophy/open-source-misses-the-point.html.)
If they plan to use their own improvements in-house, you could offer to work on those for them, as long as it doesn't stop you from contributing other things.
If they want to make a version to distribute to others as proprietary software, of course you should not help them do that.
From the way you've expressed this you might already know, but have you asked them to change the clause? Is it there because they really want the changes kept to themselves so they can re-sell an improved product? Or is it only there because the lawyers mandated it as a standard clause. If it's the latter case, do they realise you could probably provide higher quality work if you were allowed to work in coordination with the rest of the development community?
And this is why I prefer the GPL over the BSD any day...
Dave
Our lives begin to end the day we become silent about things that matter. --Martin Luther King Jr.
I sold my soul. It was a financial train wreck for everybody, and my work is tied up in perpetuity at the bottom of a rubbish bin, with no clear way forward. I should have said no to the money, and stayed open source.
If you based your work on my work, then yes. Why should you get to use my code that I put out to be shared if you're not going to share what you've done with it?
What you're suggesting sounds a lot like what Disney have done - take public domain stories, adapt them to movies, and fight tooth-and-nail to keep control of them.
"Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
What? When did I say I was giving anything away? I /share/ my work with others, and require that those who benefit share any improvements they make. That's quite different.
So, now that you're all into giving freely, I assume you'll also be relinquishing your copyright of your work (removing all references to your name of course) and donating it all to the Public Domain? That's where it would do the most good, isn't it?
"Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
What would RMS do?
making considerable changes to code organization and quality
These were improvements you were making, correct?
Seriously though, move to California. If you already live there, don't worry - non-compete clauses like that don't fly here.
http://en.wikipedia.org/wiki/Non-compete_clause#Enforceability_in_the_State_of_California
Alternatively, you could sign the contract in XYZ state, then move to California, at which point it will be unenforceable.
~nog_lorp