From the startup who allegedly stole software and raised $2M with it
https://news.ycombinator.com/item?id=8227225
In light of the defamatory nature of the poster’s statements, I felt compelled to respond. Well over two years ago, we entered into a work-for-hire agreement with the poster to write aspects of the software code for a beta version of our initial e-commerce platform. Our agreement with the poster makes it clear that we own all work product produced pursuant to the agreement. In the end, however, we were very unhappy with the quality of the poster’s work so we terminated the relationship and requested a refund.
In addition to my own assessment I consulted with several independent sources including a founding member of the CakePHP project (the framework the poster used). Everyone who evaluated the code said the same thing, to sum it up (in their professorial opinion) the framework was not utilized correctly which resulted in the numerous bugs and browser incompatibility issues. The truth is even if we wanted to work with the code the poster provided we couldn't because it was flawed. So we were left with no choice but to start from scratch with a new developer.
The bottom line here is that through hard work and determination, we indeed built the Pigeonly platform from scratch and in no way incorporated any of the code produced by the poster. We are very proud of what we have built at Pigeonly, our mission is to build great products that solve the type of problems most would overlook.
113 comments
[ 2.4 ms ] story [ 160 ms ] threadYou ask a developer to do work for you, they do the requested work, and you pay them. If you don't like the work, you end the relationship. But you still have to pay them for their time.
I don't envy the next few weeks for you guys, but you definitely brought it on yourself by stiffing a developer on an invoice. I suspect you'll come to regret having done that.
As an ironic way of reinforcing the message, you're probably going to employ a lawyer on a work for hire basis in the near future. He's not going to deliver a result that you like. Try asking him for a refund and see how that works for you.
Your best course of action is to pay the developer's invoice in full today. Then edit the above post into an apology.
Depends entirely on the contract. Many contracts include terms giving the client recourse in the case where unsatisfactory work product is delivered, especially if it's a pay-for-deliverable rather than pay-for-hours-worked contract. (But some don't, and some have more complex partial-payment or third-party mediation clauses.)
It does sound like regardless of the contract dispute over that payment, the original post's accusations about the code are still false, if the post here is not lying about what code they're using. That post claimed that Pigeon.ly is using stolen code to run their product, while Pigeon.ly claims they are not using that code in their product. Which would still leave a payment dispute but not a copyright issue.
They would literally have legal basis, in that case, to run a startup from the very code they refused to pay for. Albeit unethical, it would be legal.
Either way, the contract would clear this up. It's still bad press. With $2M in funding, just pay the dev and move on with a stable image of doing the right thing even if it isn't legally required to do so.
Does it really makes a difference if the code is currently running or not? Let's say, hypothetically, the code was not production ready but used in an alpha version to pitch an investor ?
It is impossible to prove one way or another, but I wonder, if you could sue someone, on the basis that it "could have been used".
Don't let the title of this link ("Discovering Python") fool you. It's about the sort of case you've set yourself up for by not paying this guy in full. https://www.youtube.com/watch?v=RZ4Sn-Y7AP8
...and that's just the court case.
I'd be really surprised if the due diligence requirements of your funding contracts won't also require a similar discovery process to prove that not even a single line of code or hint of design work can be traced back to the original developer.
Not paying this guy risks your losing what you're thinking of as "committed" funding due to the loopholes in your funding contracts that likely protect the funders by requiring you to expose your code and that of the original coder to the funders' technical experts at your expense (as a part of the contractually-required "due diligence"), delaying your actually receiving further funding for at least the duration of the discovery process, but possibly forever, if the funder judges there might be a risk.
It also doesn't help that you originally advertized this work as a job in California, complete with "join our team" language. https://docs.google.com/document/d/1NcKW-lnlOMSEzBEj7ywPF5nN.... Whatever contract language you are relying on to protect you in a labor contract dispute over monies owed for work performed is likely superseded by California labor law, something your funders are also likely aware of, and would likely consider a risk to their $$$.
Finally, don't you have enough stigma to deal with being a start-up (notoriously flaky), then adding the stigma of being an ex-con (notoriously untrustworthy), without adding the stigma of stiffing the coder you hired on contract (three strikes), practically cementing your start-up's status as among those most deserving to fail?
What's the implied contract here? Well we shouldn't need to ask, there should be an actual contract to refer to.
Even that would vary considerably depending on the exact contract terms – most of the pure-hourly contracts I've seen had some thought towards standards & quality, client acceptance, etc. Lawyers make a ton of money arguing over the finer points of contracts and given that both parties involved are discussing this in public I'd question whether they had a good lawyer writing the contract given that they appear not to have one now.
Not true at all. I'm a freelance developer that would be ashamed of handing over poor quality code and I believe that if there are developers out there who do little in ensuring that their clients receive the best quality software that they're capable of producing and fixing bugs in products given to clients then they don't have the right to demand to be paid.
That being said, if the problems were due to miscommunication about requirements & scope and finding problems with the software as an excuse to demand a refund, then that's an entirely different issue.
Waiting until they're done and deciding that it's crap and refusing to pay in full is not the way to deal with bad developers.
Yeah, there's no law that applies in this instance, but I do sympathize with the company if the code really was subpar. There are a lot of bad developers out there, and for someone who doesn't program it's very difficult to avoid them.
I'm into firing quickly, too. It's a kindness.
You don't hire someone to work the fryer at your McDonald's, and when they completely blow it and wreck your fryer completely, decide not to pay them for the day. Pay them, let them go. Reevaluate your hiring process.
This is not a given, and it's why we have contracts. I've certainly never worked one that was refundable, but you never know.
There is way too little information in either of these posts for the community to make as definitive statements or recommend COAs as you have.
[1] http://www.calbar.ca.gov/Public/Pamphlets/ProblemwithaLawyer...
Having been in this position myself and being completely blindsided by it, I can tell you first hand, it'll shake your confidence and then you go through the stages of grief - pretty much the same as when anyone betrays your trust. Lashing out, even though you're angry and this client may deserve to be called out doesn't help.
To start you can issue a formal letter to the company regarding the filing a DMCA takedown notice that you will file with their web host and Google for copyright infringement if they fail to pay for the code they're infringing upon. If they don't pay by the deadline you set, file the notices... or you could just go ahead and file the DMCA takedowns with their web host and Google. I don't think legally you're required to inform the company first (though, I would check that with a lawyer. I vaguely recall my lawyer saying that to be the case, but I can't say with 100% certainty), but if you want to be treated fairly in court, you have to act honourably out of court.
At that point of you notifying the company, they basically have 3 options:
- Take down the infringing code (even in a work for hire, as my lawyer explicitly told me, your code is still your code until it's paid for in full. That means that every piece of work you've completed since the cut off period for work completed on your previous invoice is still yours until it is included on your next invoice and that is paid in full.)
- Pay for the code you have written in full.
- Pay a lawyer to fight their case in court.
This is a game, plain and simple. The question is, who is the better player, you as the developer or the corporation. That depends entirely on your evidence/lawyer and who has the fewest scruples. Whoever's got the least scruples and the best lawyer wins. Their lawyer's job is in the first instance to keep this out of court. Outside of a courtroom, the company can bully you into accepting whatever terms they see fit, unsupervised by the court. In the second instance it's to twist whatever material they can lay their hands on to manipulate the judge into taking their side and giving you nothing - all for less than it would cost to pay whatever they can make you settle for. Your lawyer's job is to get the payment you deserve or get it in front of a judge to win more than the company would agree to pay outside of the court, plus your lawyer's fees.
If (like most of us) you have a conscience and spend your life worrying about whether you're really as good as you hope, chances are, the fight will take a huge toll on your confidence and your health. Even if you're right, can you handle the bully tactics that will be used to drag your name and reputation through the mud or will self doubt make you cave? Do you have the fortitude and the finances to stand against their lawyers to the end? Do you have the confidence that your lawyer can outmaneuver theirs in this case? At the end of the day, if it's cheaper to pay you off, they will do so; if it's cheaper to rewrite from scratch and cut you off they will do so; if they can make some money back by strong-arming you into paying back what they paid you, they'll try (usually though, this is just a tactic to make you back off so they don't have to pay their lawyers to fight you - because they don't even want to pay their lawyer.)
At the end of the day, it's about their bottom line, it's not personal, though it will feel very personal to you. You have t...
There is a very strong chance that a payment dispute will legally be viewed as just that -- a matter to be solved by negotiation and perhaps a monetary judgment. The rest of the contract will all still stand, likely including any copyright assignment, work for hire, etc.
Trying to DMCA someone who hasn't paid an invoice is a chump move that has a very real chance of winding you up with a bad faith or tortious interference response, or worse.
A contract dev doing 25k worth of work should generally not be lawyering up, unless there's a major non cash component (eg equity in the project). If you don't trust the counterparts keep them on a tight leash for invoicing meaning get paid often and don't build up a receivable. But spending a thousand bucks on a lawyer and trying to get a company who probably actually does have "standard" paper and very good reason to want to stick with it, to customize their docs for your tiny one off deal is a rookie move and a waste of time and dough.
The stuff you say about keeping an evidence chain of work and commits etc... That's spot on. But the reason it's spot on is that it's just good business.
I've been in this business 25 years and I've been around the block many times with many clients. One thing I've learned over the years is that there is no standard paper. All contracts are written to protect the person or entity that wrote them. Don't kid yourself, if you blindly sign them just because they're "standard paper", you're the fool.
...As for not "lawyering up", just because you're a contract developer with "only" (for example) $25,000 in unpaid receivables... it seems to me that only someone looking to avoid paying their bills by unfair tactics would make such statements... someone who would definitely put their "standard paper" and lawyers in the way of making said payments.
How using PHP framework may result in browser incompatibility issues? Whole processing happens in the server side for PHP, not in browser...
The correct way of dealing with it is to find an agreement you can both deal with. Not use shitty Paypal tactics to reverse the charge.
If you go for dinner and don't enjoy the food, you do not pay, leave and then call Amex and tell them your card was stolen.
Anytime Paypal's involved, the waters are so muddled who can say what happened? To even be entitled to a refund, the person has a limited amount of time to file a complaint.
If the complaint is filed, Paypal may do the chargeback all by itself, even if this isn't specifically what the complainant intended.
Developers are not mind readers, you need to put yourself in a position where you are regularly reviewing progress, you don't need to be a developer to do this, just sit down with him/her each week and ask them to show you how the functionality works for the user. Sounds like a case of poor product management to me.
Edit: To reply to the naysayers in one fell-swoop - unless CakePHP is identifying the browser from the request header and sending different templates/CSS accordingly (which sounds unlikely, and like a bad idea to me), there's no way for the framework to introduce cross-browser compatibility issues.
Obviously the developer could create issues in the CSS or templates directly, but that's nothing to do with the framework... which is what I was getting at.
The only people PayPal benefits is consumers and scammers.
And not filing a complaint wasn't really an option. They have no recourse if they don't file a complaint within some short period of time.
Both sides need to seek professional (paid!) advice on how to handle this situation and then handle it in PRIVATE. Bitching about something that happened on the Internet is not productive and will only give the other side's lawyers things to use against you if a suit happens.
Someone needs to sue someone. Otherwise just shut up, both sides.
But he should say (if true) that they threw out the old code because of reasons, and rewrote it from scratch.
That was the biggest issue raised in the initial allegation: that they were currently using code that they had not paid for.
Or is this just you trying to get some PR cred by saying that it was buggy/not properly done/blah blah because a bunch of people (which could be entirely made up) said so?
And in my professional opinion (no offense to the CakePHP developers) but CakePHP is about as opinionated as you get with PHP frameworks, it's almost impossible to "use it wrongly". So sorry but that sounds like a load of crock.
weeeeell, if he's the founder, he does have a right to defend his companies reputation (that said, i don't agree with the way he's handled it).
It's totally possible that the developer in question wrote horrid code - though any browser issues would only be caused by html/css, something the framework doesn't generate for you past having initial admin-type scaffolding.
I still think the guy should have gotten paid and kept the money.
Worse is that you did a 'chargeback' on paypal which is a dirty tactic. Considering how awful Paypal's dispute process can be.
Also, this drama playing out in public is a very bad idea for all parties involved.
EDIT Title no longer has "allegedly" in scare quotes.
CakePHP is a server-side framework. Browser incompatibility is not going to be an issue of CakePHP. Either you are too inexperienced to know this or you are making a lame excuse.
I can see where this would go wrong if the developer made a complete rookie mistake and screwing up input on forms, methods, requests, etc. But these are the reasons for choosing and using a framework, anyone using a framework should know this. These types of problems are abstracted and there is not a need to reinvent the wheel. This does not add up with your story.
I am calling BS. I think you stiffed the developer and you trying to save face. You guys were apparently not involved with the development processes of the project, you could have had the developer resolve the problems and thus would not have had a complaint.
In the end, this is basic business, you agreed to pay the developer for their time. You allowed the developer to complete the project apparently without question, pay up and move on.
I think you just pointed what the problem might've actually been: Not using the framework to prevent browser incompatibility. The OP didn't say that CakePHP was the cause of the problem.
On the other hand I would like to say that it's good to open the discussion instead of, like most companies would, not responding and letting the legal team handle anything if necessary.
That's all, carry on. I hope everyone's bickering and finger-pointing goes well on this fine Friday.
Typically in a contract relationship you have alot less obligations than hiring a salaried employee. At the same time, this person is using their valuable time towards your project. As a result of this, they usually ask for compensation which is agreed upon beforehand.
You agreed to a certain amount of compensation, and than chose not to pay. Sometimes contractors do not meet expectation, and I've seen this happen. But if you have already agreed upon milestones it is only appropriate to pay them at least up to the point at which you request they quit or fire them.
If you did not agree upon milestones (which a business with your funding should have.) You should still be paying him for the work done. Your disagreement over his work could cause his family to go hungry for a week. Such is the life of a contractor.
All in all, perhaps both of you performed without much regard to ethic. He did a shoddy job and you refused to pay. But your running the business and as a result have a lot more to lose from a bad image.
Just pay up and move on.
(note: This post has been sarcasm.)
In any case, you built the app from the scratch. The previous dev with their previous crappy code base can go cry somewhere else and stop making defamatory comments about your company.
In that case, the solution is simple. Tell them "We are not using the code you delivered to us in any form. You are welcome to keep it".
Red flags I've seen include:
* Smarmy-looking marketing materials. If I visit the site and think "hmm... would I be worried about downloading this app for fear it would infect my machine?" then that's a bad sign.
* Some advance-marketing and extreme-MVP tactics are okay, but if they take it too far I see it as a red flag.
* Intuition. If I could bottle it I would charge for it and be rich. Earned through school of hard knocks, which is as far as I know the only way to get this.
* No haggling at all on price... especially when combined with other red flags. This leads me to think they're not haggling because they'll just stiff me.
* No milestones or other metrics come up in discussion.
* They don't know what they want. I've seen the screwage go both ways in contracting arrangements where the hiring party kind of just wants "something cool" with only some extremely vague sense of what it looks like. In either case it's not something I want to be a part of.
* Shell company bingo... if I do a search on the founders and they have five dozen LLCs to their names it means they'll just fold the entity and stiff everyone if it doesn't work out. "Extend yourself on others' credit, test a market, and stiff people by busting out the shell if the market doesn't pan out" is a common sketchy business practice.
My point: this kind of thing isn't limited to software development. If you benefit from someone else's work, pay them.