You were successfully made to believe you would be the bad guy for walking away when nothing could have been farther from the truth.
You worked, for nothing, on a project which belonged wholly to someone else, and they didn't even bother to turn up for project meetings.
There's often a big disconnect between people's superficial behaviour and their genuine intent, and you have to learn to read the signals which tell you the difference.
This episode might have been unpleasant but could be a cheap lesson if you learn the right things from it.
Not to mention the fact they wrote it up and it is now popular on HN means that other people might learn from this and avoid getting into the same mess.
[I once did a pile of work on a proposal for a large project for a customer who turned out to be using it as part of his MBA... I probably would have noticed something was funny but he was introduced to us by Sun!]
why would you destroy this relationship if you're the mba student. You have to realize there is a benefit to keeping the original engineer on board. There's probably a benefit to having a partner that can prototype any stupid idea you come up with.
If this were me, i'd be jamming 50% of this business down the coder's throat.
This is a standard NDA from HBS: http://www.hbs.edu/entrepreneurship/pdf/Sample_NDA.pdf
Always trust yourself, your gut and your instincts in business. Never do anything in life you get a bad feeling about, including signing a CNDIAA.
"I made an iOS ecommerce app, along with backend server and a simple web-app POS system. My co-creator asked me to sign a standard NDA agreement except it specifies that I am an unpaid intern. My instinct tells me not to sign it."
Trust your instinct and good job writing a blog post about it asking for help.
On the other hand - if you did want to be a consultant, there are different things at play. First, the NDA. NDAs cover only the disclosure aspects, nothing else. Next there's an MSA - Master Services Agreement. The MSA covers the method by which services are to be delivered, and the contractual obligations around them. It's important to separate the two, as typically an NDA's lifespan is significantly longer than an MSA (i.e. after you're doing with a client, the NDA continues to live for 6-12 months).
There's absolutely nothing wrong with discontinuing a partnership that isn't working. It's a hard thing to do, you feel like you're letting people down, but you're not. The reality of the situation is that a partnership is just that - a partnership. If it's not good for both sides, then it's not a partnership, plain and simple.
tl;dr - Get compensated for your work, and put yourself first - no one else will.
Anecdotally I've turned down many projects in the past of a similar nature. "Do this X or Y for me for free I'll tell everyone what a great job you did and it will bring you more work!" "The experience and education you get from working on this is payment enough."
I've dealt with actual people in these situations, and this developer isn't the bad guy. There are no bad guys or good guys in business. This is one business partner taking advantage of the other. The developer should have never signed anything, used the project for their class, and not hand over any right to the code since no exchange of value for it was made.
@xarien, I couldn't reply again to you, but I wanted to say you're absolutely right about guilt being very complex, and to thank you for clarifying your thoughts. Guilt and me go way back as I'm sure it does with most folks. (^_^)b
My response would have been to give her none of the code, she didn't deserve any.
But I really expect that she'll get nowhere with this app anyway... she can't get traction with just an initial release, it will need constant work.
Her actions are very typical of the "clueless business type" that has no respect for the effort of software development (just pointing out functions not yet done is a prime indicator- they can't be bothered to dig into the project and think there's some value in pointing out the obvious?)
Which means she will be a failure with this startup.
You would have been better off, I think, taking your software and shopping it around to other MBAs in this class and seeing if you can find someone who will give you a real offer.
You could work on the app on the side, and you don't have to give up your permanent job, but even if you didn't work on the app, you should have still owned a chunk in the company that developed it further (assuming it was worth developing further.)
But owning a chunk in a company run by someone who is clueless and trying to defraud you is not worth anything.
You did WHAT?!
He was doing it for "free" because he was doing a class project and saw it as a learning experience. He not only didn't get paid, or get equity, but in fact paid for the opportunity to do it. The idea that there is any conceivable reason why he should in any way be restricted in the future is sad.
Hopefully the "agreement" is simply a copyright assignment on the physical code.
My approach would look like "I know that I have a relatively stable job lined up and am facing less risk than you, which is why I'm willing to step down from 50/50 to 30/70 while signing this NDA, or 20/80 to sign a lesser agreement, like a non-compete which still allows me to reuse my code. I'm not accepting a 0/100 split because I don't have to; make me an offer which isn't insulting. Or pay me for the hours I put in. Either way." If that burns a bridge then I'm not sure that I would have wanted to save that business relationship. I'd think "Surely an MBA can understand that a dedicated employee who takes it upon himself to be more prepared than his boss at every meeting and who actually delivers the prototype should be compensated somehow."
Better to have a clean and total separation and get on with his life vs. striving to have some fraction of nothing at a continuing time and energy cost (well, till the person gives up on the venture).
ADDED: As oddevan puts it elsewhere in this discussion, he was "paid in sanity".
Either way, he gets nothing besides a lot of invaluable experience, that became certain once she tried to formalize their implicit? arrangement. This way all the onus for bad outcomes is on her head.
It doesn't sound like that was the arrangement, but it should have been.
That sounds like a bad deal already. Good thing he didn't sign the agreement. But i wonder what the agreement he drafted up contained.
She knew that I had accepted a full-time offer prior to starting the class
If he's not joining the company to run the project, he shouldn't have any ownership. How would that work?
What if one of the founders doesn't work full time on the company? Then they're not a founder. In my book nobody who is not working full time counts as a founder. Anyone who holds on to their day job gets a salary or IOUs, but not equity.
Trying to making him an unpaid intern is a dick move. Although apparently the immigration status gets in the way of compensating him fairly?
He wrote the damn thing. It is literally only right to compensate him for his work. And when you know going in that you can't compensate in cash, you're compensating in points.
Worked Smart, Not Hard?
While the MBA student was not in the class, she was drafting and writing all of the classwork (with the exception of the project) for this class that she was not enrolled in. Our school uses a bidding system that played a factor in her ability to enroll. Strings had to be pulled to manage to get the developer into the class (a bureaucratic headache because of cross-registration).
From her perspective, she had an implicit agreement that helping the developer get into the course and then completing the vast majority of the coursework was her end of the bargain. This should've been made more explicit between them, but the point is that the work done was not one-sided.
Keep the code.
Learn from it.
Don't look back.
If she wants to be successful, she should get herself hired at a large corporation. Perfect environment for someone like her.
It just blows my mind. If you can't pay me, then I deserve at least 50% of the equity.
She was doing the "business" end of a project that had no customers and no "deals". So, what exactly did she do here?
The coder would be giving up the right to his code, and taking on the burden of non-disclosure, in exchange for...nothing. Basic contract law (in the U.S.) requires that both parties receive adequate consideration (essentially, payment) for the bargain they are making. Unpaid student internships are generally not considered to be valid consideration because it is illegal to have interns perform the primary business activities without some sort of compensation (monetary, or in the form of academic units).
It's surprising that it didn't come up in the previous HN discussion but it appears that none of HN's usual legal commentators dropped in.
It also fails to assign his existing work to the company (as contact terms cannot apply retroactively), which is a major blunder, as prior to signing this contact he could not be said to be an employee (if indeed he is).
The patent warranty is particularly ominous, anyone who signs that would be taking on enormous risk for the rest of the business's life.
Never stay involved with partners who aren't adding their share of value in an undertaking. Since she wasn't paying you or even offering equity, the least she could have done is to participate in the work that you were doing for her benefit.
Don't tolerate being systematically disrespected.
I think this is a key lesson. If you're getting into a business relationship you need to be able to dispassionately discuss arrangements and contracts. It is far better to do that via email than verbally.
Note: this is not legal advice.
I have an MBA and I write code. In my experience, coders overvalue their contributions and business guys overvalue theirs. But in the end, the business guys usually win. You have to think like a business guy.
When I do contract code, I'm under no illusion that I am a critical piece of the business. In fact, the only thing that has any sort of ability to lock me in is typically that switching costs are high- developers hard to find and it's expensive to get a new one up to speed.
That's just the way things are. If you're not an integral part of the business, you are replaceable.
Am I a business guy who learned to code? An engineer who learned business? I have degrees in both and have taken jobs in both fields. Or am I just someone who took an interest in these things and learned as much as I could about both of them?