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)
every time you do that a kitten dies
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!
"Did you know that some so called volunteers aren't even paid?" -Homer Simpson
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.
This is your own call.. Nobody here can say a thing, it's easy to say to someone else to not take the money, but a lot of people will do it themselves.. Just make sure if you do go for the money and sign their contract, then at least let a lawyer go over it, AND make sure they add a clause incase they fire you the contract with them would be nullified (except for the work you've done on the project during the contract time).. BUT, a lot of people think this only goes for the work they do for a company, but watchout, if you have a nasty boss and you develop something in your freetime, your boss can lay claim on it.. It already has happened a few times and courts decided in favore of the boss.. by the way this is only when you develop something with the skills you also use during your dayjob, so in case of a busdriver who develops a computergame in his sparetime the boss can claim whatever he wants but he wont win, but if you are a programmer and you did the code then you are in danger of having a nasty boss claim your stuff. so always make sure you've got something written about that in your contract..
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.
I know how the BSD licence works, and I have released quite a lot of code under it. I think you're the clueless one.
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.
I agree, and I would consult a lawyer savvy in this field. The non-compete clause is a prison in which they'd like to keep you, and if it's not carefully worded, that's exactly what it would be from your standpoint because the interpretation of "non-compete" could be fairly broad and if not carefully worded could, for example, preclude you from making a living doing any kind of software engineering, regardless of platform or intended application.
If they don't want you to continue to freely publish your original codebase, screw them. Re-release it under GLPV2 or V3 or whatever and then orphan the project on Sourceforge or wherever and let the rest of us have at it. It's YOUR code, remember? If this party then wants to pay you to enhance it in a specific fashion to, for example, optimize its performance on a specific hardware widget or radically extend its features in some respect, that's fine. But, they need to realize that they have implicitly forked the code, and it's possible (however unlikely) that someone else could also use it for their own purposes, and perhaps extend/enhance it as an open source project without recourse to your "buyer".
IANAL, but as much as we dislike them, I think it's time to bring one on board for this - this could be a legal minefield for everyone. BTW, I wouldn't necessarily threaten litigation based on the Copyright laws, at least not immediately - I suspect that would take forever to litigate with a very uncertain outcome, and you're probably better off with a carefully constructed contract that clearly stipulates your rights.
A set of questions to think about:
Is the subject of this project part of a life-long passion you may have or is it just a fun or useful project that you could feel comfortable dropping and picking up different interesting project in the future?
Asked another way, if you could never write to the code base again, would you always long to code this project because it's part of a passion you have? or Would you feel happy, comfortable & okay doing a different kind of project in the future if you could never turn back to the original project?
If it's not a passion, would you be willing to give the company control to make the choices and plot the future of the project?
If it is a passion, could you negotiate? : Would the company be willing to pay you to make specific changes & modifications to the code base, while still retain the open source license status on the project?
These are questions I'm currently asking myself regarding my passion and whether to compromise to pursue something similar but not in my target area of interest.
Follow your heart and your dreams.
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.
Well, the question is do you want the project to live or do you want money so you can make different choices. For instance an oracle utility called Tora the author got hired away by quest, then quest cherrypicked the parts they want into another product they'd bought, (toad) and killed off tora. Being open source some other people did pick up the pieces, but it hasn't moved forward at the same pace as the original author.
So there is a risk that you might see the project abandoned, but if you can get a job you're happy with, that might not matter.
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
If you didn't release your code under the BSD license you would be getting fucked over like you are now.
I hope you learned something over this and how much of an idiot you are in thinking people will see your own ideals of sharing code.
The only way forward is forced sharing, congratulations on killing your open source project.
. . . are you sure you want to work with people like this?
They are asking for too much for what they are giving you and they are asking for rights that do not have a basis for either legally, business wise, or morally. You are to go the nearest lawyer and get his opinion and a 2nd opinion in writing and show that to this potential employer. Do not at any time sign in it in its current as that will dramatically affect your long term income in a negative fashion. Lawyer orgs for the BSD license that could offer resources..start with the OSI first and etc to find those resources.
Fred Grott(aka shareme) http://mobilebytes.wordpress.com
California was never a slave state. Non compete clauses violate state law. This has been tested in the courts.
If you live here you can sign such a clause, even for a firm located in a slave state, but it is not enforceable.
You know something that they do not. You can do something they can not do.
They depend on you not understanding the meaning of this.
You feed them, but the want you to believe they feed you. Without you and people like you they have nothing to feed on. They can not and would not be able to sit down, roll up their sleeves, learn what they had to learn and do it themselves.
If you work there, you will be put in a stall and milked, like all the others they have cowed.
Decide not to work there. Be prepared to act on that. Then offer to work on your terms - including a percent of the profit - even after you leave them - for as long as they receive income from the fruits of your work.
They will be outraged. Laugh among themselves.
Those who have some intellect will perhaps think of SCO. For a moment.
Later, alone, the brightest of them will be afraid. For no reason.
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.
"How would you approach such a decision?"
Very easy question. I'd say no.
I believe Open Source is just too important.
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.
How long do they intend to have you maintain your changes outside of the official tree? I'm sure some of your work could find its way back into the project. After all, you could make the (completely honest) case that to do otherwise would be to duplicate effort and cost them money any time upstream makes incompatible changes.
Oh, and don't sign an open-ended non-compete.
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...
Staying involved in the open source community really goes two ways. You got to the place you're at now (and you gained the knowledge that your employer values) by working with others in the open.
Staying involved in that even after you take the job is good for the company. Why? Because you stay up to date with the developments of the overall project. Not only that, if they allow you to contribute and be an active member in the project, you can _HELP INFLUENCE_ it. This also means you can help make sure that the overall project goes in a direction where it's most useful for your employer.
The alternative is for them to gag you but you keep monitoring project activity by lurking on the lists. Sure, that will keep you somewhat up to date with what's going on, but over time your influence will disappear and your value to the company will deflate.
Negotiating an exception to the IP contract in your employment agreement shouldn't be a big issue, and something you should try to do. It's better for you AND for the company.
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 know how the BSD licence works, and I have released quite a lot of code under it. I think you're the clueless one.
Well Mister Clued-in-one, exactly what part of the BSD license supports this statement:
"If they did not accept that, I would forbid them to use any code from the project ..."
From what I can tell once the code is released under BSD that's that for that version of the code. Just like once code is GPL'd and in the wild you can't unGPL it (provided that there is no reason that would legally prevent it being released as GPL in the first place.)
BSD license is basically "You must include this license, you can't use my name, and if this code does something undesirable ranging from causing a hangnail to ending all life in the universe I am in no way shape or form to blame so don't even think about suing me."
I certainly wouldn't sell my soul for any amount. I've gotta get rich from it.
You had to know what the answer from slashdot would be before you posted.
So I guess it must be vanity, "hey guys look at MY career options!"
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.
That would be Kombucha.
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.)
Start with 4 times what they offered you.
Then, do what they want and then take the money and run. More than likely what you're working isn't all that ground breaking or has much commercial potential outside of a very narrow field (i.e. You won't get rich either way.) and the folks offering you money are a small company - a larger one wouldn't be screwing with a small project.
Invest the money in something. And start another project in something else.
Just this cynical old bastard's opinion.
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
They hire you, you give up your right to contribute to your project forever, they fire you after one day. For the price of one day's pay, they've killed your project.
The vast majority of projects have only one person working on them until they reach a certain level of maturity. Nobody else is going to pick up your project. It will be dead.
It's expensive to consult with lawyers. You probably won't be tempted to do that. Other posters have said the contract probably isn't enforcible. That may or may not be true. Only your lawyer can say with any degree of assurance. My wife had unenforcible terms in a contract. When she left her employer for another company, the previous employer threatened to sue. She went to the local law society and was referred to a lawyer who specialized in employment law. He ended the whole thing with one letter to the other side's lawyers. It cost my wife a few hundred dollars.
Maybe the EFF would be willing to give you a bit of pro bono legal advice.
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.
Some key points:
1. most companies that take this kind of approach don't know what they are doing. They are looking for a quick fix to get off the ground w/ little inovation. Generally, it's like the dot com days of build the company and dump it.
2. Open source or no. For what they are asking and in lieu of the non-compete, they should pay you back pay for the duration of past work on the project at the proposed salary. They are trying to get a free ride but you are there ticket.
3. Ask for a guaranteed period of employment. Have your salary for the period plus any raises placed in a trust. You should be paid from the trust. The trust gives you protection against firing or the company going under.
4. Stike everything you don't like from the employment agreement and add your own demands plus a few unreasonable demands. Negotiate like a corporation. This will give you an idea of the actual value they will place on you.
5. You've got a comparative advantage here. Take advantage of it. Get together w/ the other developers on your open source project and let them know what is going on. Odds are that you are not the only one being contacted. Get together and cut a deal. You should know these guys. Other projects are probably also being targeted.
And most of all, these guys aren't your friends. They are trying to start a company off of your past work. You did agree to this w/ the BSD license but you can also profit from it. They are paying for your past time and expertise.
Remember, most serious enterprise software starts at $200k + serious maintenance costs ($40k/year plus). They are betting for a piece of that action.
What is the value of the oss project to you as an open-source project.
What is the value to you of the project?
Will the open source project die if you abandon it?
How much is the entire project worth?
Are the paying you that much?
Is this company anti-opensource?
Would you like to work for such a company in the long run?
How much money are we talking?
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?
a) follow your own way.
b) read what the folks say here. lots of good items for you to consider.
My take.
- If they want your prior work, that's worth some kind of bonus. How much time did you spend on it? Say at a rate of $100/hr - that's the bonus amount.
- If you're signing a non-compete, you need to negotiate a golden parachute clause to cover your out of work period. If you're fired, you need to have $100K/yr of non-compete min included. Everyone thinks they can work in other fields, but you probably won't.
- If this job isn't a good career move for you, don't take it.
- The amount of salary you get shouldn't be over the top. $100k for most "expert-level" programming jobs. Less for lesser programmers down to $65k for 2 yr wk experience types.
- A non-compete that comes into force immediately is just wrong. There should be a phase-in period.
- Personally, I like to work on a handshake and a verbal agreement "not to screw you over and I expect the same from you."
I've signed non-competes before. I've been out of work for 11 months due to the last one. Not really, but I just haven't found anything that I want to do since then besides travel and getting into better shape.
Until you reach a point when you work for joy and not for daily cash, you'll always be stuck taking bad options. If you're over 35 and can't afford to be out of work a year or two, you haven't been in the right position if you ask me.
Everything is negotiable until someone gets pissed off over the trouble being caused. OTOH, if they ask you to sign anything without appropriate compensation, forget it, they will just think you are a sucker.
OTOH, don't think you THE ONLY PERSON that can do the type of work you do. There are many, many others. You should be a team player in public, happy to help when problems arise, and willing to stay late for many, many years of employment. Managing expectations is a key life skill.
If they claim they can't negotiate on some parts, perhaps it is time to walk away, but be polite. A few years ago, I needed 3 weeks of vacation to start a new position due to prior travel plans. Non-negotiable on both sides. I ended up taking a contract position with much higher pay elsewhere. There is no limit on vacation when you're on a long term contract. You just can't take off during critical periods.
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.
If they want the changes bad enough, they will be willing to pay you either way. You just need to stick to your guns.
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.
First release your current project, as it stands, under the GPL (anonymously, if need be). That will guarantee whatever you've done so far will remain free regardless of what this company does with it.
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.
Non-competes are not valid in some US states. (California in particular.) Get a lawyer and see if the non-compete clause is anything but hot air.
Also, don't be afraid to negotiate. If the non-compete is an issue for them, tell them. Maybe you can get it removed.
The cake is a pie
http://www.google.com.eg/search?hl=en&safe=off&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&hs=3dq&q=%2B"darkeye"+linux&btnG=Search&meta=
if those 11,200 results are you than i am honestly embarrassed by limited "pay it forward" attitude.
in any case, decide on what's right and take stick to that decision.
_ In Egypt Networks: Network Solutions with a Twist
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.
Don't sign anything without solid, real legal advice.
Secondly; what is the value of the project you are working on to the company? If it has any real commercial value, and your coding is critical, you should be talking a cut of the company or to someone else wiling to fund your work.
If they'd laid out a business plan to you and you are not under an NDA you could shop it around and find out what it is worth. Until you sign you owe them nothing.
Finally, don't sign a non-compete. If they want you bad enough they will back down on any terms you don't like, possibly to include code ownership and or wanting a cut of their company.
If they don't back down, chances are they want you cheap or something you did up to them is what they really want and simply are trying to lock you up.
At any rate - deciding to make money off your skills is not selling out.
I'm a consultant - I convert gibberish into cash-flow.
...software licenses have evolved. If your goal is closed source, don't bother going down the free software model, just accept that is your gig and move on. Skip it, don't even fool with the open source model, it isn't for you.
If you want free software, not only for yourself but for *everyone* downstream forever, there's only one really good choice now, and that is gpl3 because situations like this warrant it.
BSD license is free-one time, then it can be closed off. Sure, it is free in that sense, but downstream forever- no guarantee at all and the takers/leechers can just take and never have to offer back or share. And yes, it really is that simple.
Half way measures won't work if you want software freedom. Pick one, fully closed/proprietary or fully open, BSD license is a "neither" midway license that doesn't fit either direction all that well, it is from long ago when the full ramifications of what would happen with software-it predates software patents for instance- weren't as clearly understood as they are now. It was OK then, but now, we know better. Live in the past or learn from the past, two choices there.
Short range and if you don't care, take the money and the terms, long range and if you think you will be caring about these sort of issues the rest of your life, tell them to get stuffed and stop working for them.
Pick what you really believe in, closed and full of patents and non disclosure and proprietary, etc., or *really* open for all the iterations and for all the people downstream forever.
There is no compromise there that will work forever and given the nature of human psychology and business, the half way measure will always gravitate towards being closed off again,as you just found out. And this isn't new, tons of postings and opinion pieces and debates have hashed this out ad nauseum, but until it impacts you directly it remains academic theory. Now you see real life in action.
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.
How do you forbid someone from using BSD licensed code?
Relicence it.
Rather than refuse to sign the non-compete, I insisted (and got) a slight modification to in the contract.
The non-compete is in effect only if I leave voluntarily.
So, yes, they protected themselves against me being seduced away by a competitor. But I'm generally not the sort who does that anyway.
The other side is that it's a virtual certainty that if they fired me or laid me off, I would at once work for a competitor, and the contract explicitly acknowledges that will happen.
That's about as close to job security as you can get!
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!
I would tell them that if they wanted my skills at their disposal, all efforts would have to become part of the open-source project. If they actually want *YOU* then that's a small price to pay.
How is the non-compete worded? Is there an expiration? What's going to happen when you leave the company? Will you not be able to use one of your marketable skills (or the project as a whole) going forward in any other job?
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?
This idea that anything can be bought for enough money is the reason we are now in very precarious financial difficulties in this country. Good morals and ethics are being sold out every day for what? Temporary gain at the cost of a huge loss of confidence in everyone to the point that banks won't even loan money to other banks. Why? Because no one in their right mind can trust anyone else. They're all out to screw each other for temporary gain at the cost of slitting their own throats long term.
No business, not state, not country can long exist in this state of affairs. We can't be predatory toward each other and expect to remain strong. Enemies are predatory towards each other. Fellow citizens being predatory towards each other is a losing proposition as we are only helping those who would destroy us all.
Greed only sucks and destroys, and if you can't see that in what's happening in our current financial crises, well, you've got your head stuck someplace where the sun doesn't shine. shine.
Because it allows companies to rip off other peoples code and sell it as their own which the GPL license does not.
The BSD license originated at Berkeley University to allow the UC to steal and sell students code.
That it has been modified over the years to be less sleazy, it is still used as a tool to steal code. Whether you want it to be that way or not. There are bad and stupid people in the world. That's why the GPL license is worded the way it is.
GPL is for real life. Allow the children unsupervised access to the toys and there's always one turd who'll try and horde all the good stuff.
BSD is written by smart people to try and convince dump people to use it and allow the smart people to steal back what they want. It puts the power in those with the most money.
How can you consider selling (or assigning rights to) code that you do not fully own? If the code is open source, it belongs to the community that develops and uses it, and not just to the major contributor. Your new employer may have the rights to all the work they pay for, but since this code has shared ownership, you can only sell what you own outright. If I were I contributor to this project I would sue you for selling something you don't own.
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.
No, it's not unethical, but it's not entirely ethical, either. Intercepting work meant for public consumption to take it private isn't exactly the result of high-minded ideals.
I agree with the other reply. Whoever modded this -1; Troll really needs to look up what a Troll is.
Are you in California? If so, non-compete clauses are illegal and routinely slapped down in court.
I'm out of my mind right now, but feel free to leave a message.....
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
... BSD Should be banned form the face of the Earth. That is JUST hypocrisy and legally stealing.
So um. Why not negotiate a better contract?
Do it man. The Open Source Community is not going to pay your bills and is going to forget about you as soon as you stop contributing.
Getting paid to improve a code base that you started and you already know how it's working, looks like a very nice job to me.
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.
The open source aspect of projects is not only about giving away, but also getting. When you stop giving to the community, you can't get any patches from others that improve your work.
You already got the rest of the arguments above, and thinking about it for a while will allow you to make a decision.
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
It's no longer under the BSD licence if you relicence it - it's not like the GPL virus that can never be removed from code.
> 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.
What the company is asking for is fine and it's what a company should do. Companies will always ask for the moon to see what they can get. My advice to you is if they insist on non-competition clauses then make sure they are narrow and well defined. Make sure they are limited to a short time span as well. In the tech world, no longer than 1 year. Also you should fire back with a counter proposal with a very high compensation package and your own clauses in case of termination or project cancellation.
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!
I found this article and I think it might help you out a bit:
http://hbswk.hbs.edu/item/5628.html
FTA:
"The noncompete clause is the basis for a love-hate relationship, depending on which side of the desk you're seated.
The noncompete is meticulous legal phrasing that forbids inventors or other professionals from offering their talents to an organization's competitors before a set period of time has passed, often twelve to twenty-four months. Such a clause, for instance, sparked a public legal battle two years ago when Google hired away a top Microsoft executive, Kai-Fu Lee. "
There's a good deal more on them, and you should be aware that about 10 states either don't enforce such contracts, or are at least much more restrictive on their enforcement (listed in the article). Also, AFAIK, most states require such contracts to be both restricted in duration AND geographic region. You can't really have a contract that says you can never work against use ever period. I'm not aware of any states that would consider that conscionable. Typically one to two years in a certain state is far more common.
I think it comes down to how much they're paying you, but even if they take ownership of your previous work (.e. you sell it to them) then it is still released under the BSD license and so they can't take that back.
That said, I'd consider carefully if you want to tie your hands in this manner. Non-competes in certain countries and states in the US are fairly serious documents. A friend of mine lost his house in paying for the litigation surrounding a vanilla employee non-compete that was punitivly applied.
Chris DiBona
You're debating whether you should accept money for work? Is something wrong with you?
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.
18 months or 2 year expiration on the non-compete. Then they have a temporary advantage and you are not locked out forever.
There's only two questions you need to answer for yourself.
1. How badly do you need the money (and the flip side, how much are they paying)? If your need or the amount being paid is high enough to compell you to drop the project, you are part way to an answer.
2. How important is the OSS project to you (and the flip side, how important is closing the source to them)? If you were just having fun with the project and don't feel like FOSS code is more important than life itself blah blah, that's one consideration.
Now on the other hand, if you do seriously feel so strongly about the FOSS thing that it would be your sole reason for turning down the job, I would make that clear to the employer: perhaps they can be flexible on it. It doesn't hurt to ask.
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
WHO SAYS THEY WILL NOT MAKE YOU EAT YOUR OWN POOP - FOREVER!!!???!??!??!????!?!?!? OMGZJUSTDUNDOITPLZPLZPLZ ...
here follows prayers before the slashdot altar of automated filtering: i shall never again write posts in all caps, i shall never again write posts in all caps, i shall never again etc.
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.
What are they getting out of this deal?
Do they have an entrenched position?
Does this project make single vendor lock in harder to do?
Killing this FOSS project could be worth 100's of millions, from the right point of view.
Maybe another company would pay you more to work on it and keep it FOOS - IBM, Sun, RedHat, etc...
THINK!!!
I've been in a slightly similar position before. I was asked to do a closed-source fork of a project. Even though I would have been allowed to contribute to the original project, I felt my later contributions would have been "tainted". Eventually, I decided it wasn't worth the potential legal problems later on. So I said "what I do is open source or there's no deal". Guess what, it worked and everything was open source. If they hadn't agreed, I wouldn't have agreed to the terms anyway (I don't recommend bluffing unless you're really good at it). In any case, from what you're writing the terms are so one-sided that you're likely to get into legal trouble further on (which is likely to cost more than they would pay in the first place) and even without that you'd be selling way more than you should (previous code, current code, blocking a career path, ...). Just think about it, after you're done with that company, you're forever "tainted" when it comes to that project and it could prevent you from getting more interesting jobs later on.
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
This wouldn't have happened if you used the gpl
Just remember what a famous philosopher once said:
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.
So many open source projects that are successful become commercial. It's hard to commit to open source software when you don't know if it'll continue to be free.
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.
> I know how the BSD licence works, and I have released quite a lot of code under it. I think you're the clueless one. ...
>
> Ah, on further reading, you're quite correct. Bugger. Oh well, it still leaves them stuck with an old and unmaintained version.
Glad to see you now know how the BSD license *really* works!
I don't know I wouldn't just take that unless the price is right, .. this means you can't ever add any code to that project, at least no code that's relevant to the code you've written for that specific company, .. I would ask them for a donation instead, at least like that you're not obligated to do anything and every would be able to benefit from it, of course it's up to you but it seems strange that one pays you to not share any further progress, suppose you find some security issue, wouldn't you fix it and if you fixed it are you allowed to patch it ?
The pay would be to low for a life of not working on a project you like to work on, that is my humble opinion.
Regards, ..
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
Change the license of your code to GPL and fuck them all up!
Indeed I'll give you ten bucks if you do so.
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.
Separate the two.
If you need the money - Do it for the money. Your friends will know you are hurting.
If it is not about the money, then your morals are the question. I give my efforts away because I am happy for what I can do for others. I know the feeling and pride. When you sell that - you will loose a large part of who you are.
As for the $1B, well, I guess you could start your own open source and no one would bother you anymore. That would be considered a stair step in the right direction.
Don't ruin who you are! As from above, you are asking the question so that means you are teetering. Remember the $1M for sex from above.
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.
...but sign it in blood. You have only your soul to sell.
hee, hee, hee.
Sounds like they just want to eliminate you from the project. They hire you, get you to sign the non-compete and then fire you with cause for being a minute late after a couple of months. And they never have to worry about you contributing to that project again.
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
> How would you approach such a decision?
Unless we're talking about serious money, which seems unlikely from the question, I'd say "no."
I would explain that I do not waive rights, ever, for anyone. I would spell it out for the person asking me, that they are asking me to waive certain rights, which might be acceptable under certain conditions, but simply by asking, they have elevated our relationship from "colleagues" to "potential litigants", and I would be very unlikely to sign any contract drafted by their lawyer and not my own.
Essentially, by asking me to surrender rights for any reason, particularly someone else's benefit, one is taking the most hostile position possible.
Like I said, my moral outage is tempered by the fact that I have a price (I'd leave the industry altogether if you're paying for a very comfortable retirement).
But I would absolutely say "no" in the situation in the article, and if it's a show-stopper, I'd waste no more time, and if it creates a good negotiation position, I'd exploit that.
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
Ummm, because you don't have to release your changes to the code base that you were given as a gift, for free.
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.
> Ummm, because you don't have to release your changes to the code base that you were given as a gift, for free.
So what? You think that just because you gave away *your* work, that you're somehow entitled to *my* work as well?
If I release something based on your BSD'd code, and don't distribute the source for the modifications, that doesn't prevent you from working with the original code in any way you like.
...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.
.. that is why this is good deal for them, but not for you.
It doesn't matter what anyone else'd choose.
I'd choose to go broke & keep the project free, because that's the way I'm wired.
( lost too many loved ones: money doesn't mean much, to me )
Others'd go the opposite way, equally validly.
It is YOUR long term consequences, and YOUR life, so you're stuck making the choice.
One question, though: if the current project is BSD, that can't be removed from it, right? so how could this company insist on anything more than a fork? That I can figure out, the *cannot* remove the BSD from published code that others have, under that license ( which is why so many are so offended at the linux kernel, for taking BSD code & putting GPL restrictions on it, e.g. )
Good Luck, and whatever choice you choose, may it be best for your life!
( and may you not be hated by politicos for self-determination :)
Never accept the first offer.
If a company is willing to pay you, pretty sure you can make much more money by your own means.
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.
This is probably *not* worth it on their terms.
If they're willing to pay you X per quarter, paid 1 qtr in advance for you to not compete those months, then sure. So if they write you a 10K check in march, you don't compete with them for July-Sept. Also put a clause if they ever stop paying, the non-compete is void.
In general, non-competes are not worth the money people are willing to pay for them (I'm an independent software provider, I've signed a few and regretted them afterwards. I've turned down a couple and been VERY glad after that I did).
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
... or so I read.
Not quibbling though, I believe the word used was "haggling"...
Excellent, very much to the point.
Darkeye could use some Zen training, maybe?
You've got bills to pay right? Make sure you take them for as much money as possible.
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
Do you hold title to every line of the code?
Do you have wavers from other contributors signing over rights to you?
If you don't own the code, you can't sign it over to 'em. They can take the BSD code as it exists and add their own stuff.
Why don't you hire a lawyer before signing any contracts and if necessary change the terms of the contract to something you agree with. There is no law saying you have to submit to being their bitch.
From what you say, it sounds like YOU are the one who has something they want. Use that as leverage.
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.
Ask yourself who else can do what they're asking? If you're a SME on this project and they want to lock up your time, they better pay for it - they want you not to work on it for a year? Get them to pay you full rate for your year.
If there isn't anyone else likely to be able to do it within their deadline, then you can dictate terms - offer two prices - a lower one that lets you release the code back to the project after a period of time (give them a year head start or something) - or a MUCH higher one (think 3-5x) that is exclusive.
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!
Sign the contract, take the money, and "accidentally" lose a usb key with your source code and notes at the odd convention ;)
Seriusly, try for best of both worlds. Try to modify the contract so the company gets 12 month exclusive rights on your works before it gets trickled out to the public.
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?
Sums of money are temporary and sometimes optional (based on the situation).
Your pride and peace of mind is not.
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"
IANAL but I think there's significant limitations on those sorts of contracts in some states. Maybe you should consider moving to California.
Feel free to take the job. You can help out on the open source project when you done because non-compete clauses are not enforceable. The reason is that US citizens have a constitutionally guaranteed right to free association and commercial contracts are not valid if they attempt to take away fundamental rights.
Lawsuits to enforce non-compete clauses have been very, very rare, and in almost every case have been thrown out of court. In one case a company sued a former employee for violating a non-compete and the company ended up have to pay hundreds of thousands to the employee for interfering with the employee's "right to work". Talk about a lawsuit backfiring.
Bottom line is: non-compete clauses are just a scare tactic, they never get taken to court.
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?
Before I get to the main point.I think I should point out what another person already has.
It is very likely illegal for you remove old changes from the OS project. Possibly they are counting on that. You accept the contract, then try to withdraw your code. The leaders of the project refuse to let you do so. Now because you fail. The company declares the contract null and void. You and the leaders are now pissed and not willing to work with each so the company geets you off the project for free.
Furthermore the company is almost certainly violating antitrust laws even by offering you this. At the same time, you would not want your OS friends to find out you agreed to such a contract. So say the company will go back on a part of the contract. What do you do? Sue, but then the contract becomes a very visible public record, and your OS friends find out. This gives the company an extra lever over you and if they want to violate some term in the contract you might have to let them.
Finally do you think guys like RMS,ESR, Perens would go for terms like this? No way! They know that for every job they take, they have four guys who they say no to. Very likely one of your companies competitors will offer you a similar job where you don't have to sell your soul.
I wouldn't do business with this company at all. They've shown you that they are willing to screw you over for their benefit. What makes you think that at some time in future they won't screw you over even if they get some benefit from it?
Dear original creators of this project,
This is why you don't use BSD-like licenses.
Property is theft.
This is a one sided negotiation. First get a very good lawyer - if your are serious. They know where they intend to take the project. You do not have that information. Having you out of the "population" forever, should command a very high price - payable in cash up front, and a share of the profits. This is just not a $75K/year offer. They know what your able to do, that is why they approached you. Start thinking along the lines of $500K (+ your legal expenses) up front in cash (nothing happens until the check clears) and $150K+/year + large guarenteeded bonuses + stock options and 1% of the profits (before expenses - your accounts not theirs). A forever non-competition clause is very restrictive, so they should be prepared to make it VERY worthwhile. Next it should only be non-competition while the company is in gainful business. They stop actively supporting the product - the non-competition clause is cancelled. Your attorney can fill in the rest.
I was in a similar situation with microsoft once. I declined. They wanted me to BSD my software, claiming it was more "free" this way, but i understood this meant they could develop it without any further obligations to me in the future. Ultimately, what they were offering wasn't even close to what i put into it, so i LGPL'd it. Its up to you.. One suggestion, don't be rushed into a decision. Take your time to weigh all the pros and cons. If the offer was slightly different (that is, if they were willing to negotiate even a little), i may have done it.
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?
Can someone here suggest an easy and affordable way to file a patent application for a novel algorithm/process? I do not want the algorithm/process I have created to be open source. Thanks!
If the money is right go ahead and do it. By "right" I mean is it a considerable amount and weighing that against how much love you have for your work on the project. If it's your life's blood then no deal. If it was a fun distraction, money can also lead to a lot of nice distractions as well, like hookers and blow. Make them pay out the nose if you don't mind giving up your work on that. There are lots of other projects that can use your attention if you see fit. All the zealots should just shush, if you respect freedom like you say you do, then this person has the freedom to do as he/she chooses. Be proud of the work that you've already done for the project, you wouldn't be the first to move on to a new project. Again, it all depends on how much you love it and whether that's worth giving up.
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?
You confuse ethics with what is legally permissible. You also confuse permission with encouragement.
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.
I am sure this has been said before...
Typically the way this would work. Is that your new company would pay you for your work. You would be able to merge back all your maintenance work back into the mainline. but additional enterprise features, or improvements are not merged.
Or another option is that they are merged, but only after a few months, giving, your company an advantage.
What ever you do, you should try to protect the OS community. But, lots of opensource projects can not survive without a corrporate paycheck.
good luck..
If you paid any attention at all, you'd realize that they teach the answers to these questions very early on in life.
"I've just discovered my goose might be able to lay golden eggs. Should I kill it?"
Uhm. No.
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.
This is actually very simple; there are two options and one has only one real extenuating circumstance. First, are you in it for the money? If so, nothing to it then. Take the money. Or are you in it for interest and knowledge (also where classic open source philosophies fit in)? If so refuse. The exception: you're out for knowledge, open source, spreading the good word...yada yada yada; but you're broke and have a spouse and child (theme may vary)...take the money, you don't have the luxury of morals.
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.
Remember the old adage: "9 out of 10 guys masturbate, and the other one's lying about it?
9 out of 10 guys here would do it for the right price, and the others simply aren't thinking big enough...
Anyone who blindly says "DON'T DO IT" is probably financially stable... Hey guys... choose between heating your home or your integrity... the rules change...
Educate yourself about your options and figure out where you stand on the whole integrity vs stability thing, nobody can do that for you, except maybe your mom. (This is Slashdot, chances are good he's posting from his mom's basement anyway)
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
Why shouldn't I get to use it? You're the one who decided to give it away.
GPL is about community teamwork and enforcing sharing; BSD is about giving freely.
Honestly, if I give something away, I don't put conditions on it. I don't really care how you use it. I just hope you enjoy it and appreciate it.
Of course, I can't expect you to feel the same way. Just as you shouldn't expect me to want to do things your way.
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