TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: I've had some software developed, now the coder is holding me for ransom.

33 pointsby pixpox3about 16 years ago
I'm not a hacker/coder, but I've hired a coder to create me a desktop app using JAVA swing that I planned to sell.<p>I hired him in August 2008, he quoted me $2500 and said it would take two months. Its now almost april and hes almost finished. Throughout the process hes been angry, rude and keeps talking about how incredibly patient he's being with me.<p>I offered him 10 percent of profits, just because I thought I might as well seeing as my initial investment looked like it was going down the pan anyway. But hes been holding me ransom the whole time, basically wanting more money, a lump sum at the end of development and he wants my investor (who may invest a modest amount in the software) to buy him out.<p>What can I do? I cant afford to pay him bonuses, I dont want to give him more percentage and I definitely want to try and get him off my back and cut him out of the project.<p>I'm thinking the best way would be to get someone to reverse engineer the software so I have complete control over it. It currently authenticates the user on startup using a script on his server.<p>My question is, can anyone tell me what the best way to do it would be? Is reverse engineering Java Swing apps doable? Im thinking I should hire someone of Rentacoder to do this and just get this headache over and done with.<p>Thanks for any advice.

31 comments

vakselabout 16 years ago
Simple...sue him.<p>Dude I'm in your exact situation...hired someone to do a project, and he is now a year late. I gave the guy concession after concession just to get him to finish...hell I cut about 70% of the features just to have him finish quicker. And told him...as long as he finish quickly I'd waive the late fees.<p>You can't work with these people...even after all my concessions the guy still gave me major attitude when I demanded that he hurry up or I'll sue him.<p>So Monday I'm getting the lawyers involved. Not sure about your situation, but I had my guy sign a contract that specified late fees. So its a little easier to sue him, since the late fees will more than cover lawyer fees. Of course since you have a smaller amount, you can try your luck at small claims court.
评论 #526217 未加载
评论 #526224 未加载
评论 #526385 未加载
评论 #526185 未加载
mannickenabout 16 years ago
Have you paid anything yet? Don't.<p>Drop him. Here are two good reasons to drop him:<p>1. You are wasting your time -- I don't think he'll give you anything, or you'll end up spending so much money that profits are unreasonable.<p>2. Even if he does, what guarantee is there that there is no "surprise" hidden in the code? I have seen freelancers do that when they're disappointed in the buyer.<p>Find another guy and learn from your mistakes:<p>a) Pay weekly, based on milestones.<p>b) Setup a Subversion repository and do a mandatory weekly commits. No commits, no money.<p>c) Ask for a very short but functional proof-of-concept first, once it works and you have received source -- pay money by this formula: $ = rate x hours.<p>There is no trust between you and freelancer and you should never work without at least a bit of trust and understanding of each other.
评论 #526277 未加载
Hexstreamabout 16 years ago
Cut your losses. At some point you have to admit to yourself that you've been had and you won't get any kind of compensation. You're just wasting resources. Next time you'll be more apt at heeding the red flags.
评论 #526496 未加载
评论 #526192 未加载
ScottWhighamabout 16 years ago
First question: Has he released any source code to you yet? You mentioned in one of your replies that he's met (and you've paid for) two milestones. At either of those milestones, did you receive the code? I assume you don't but I figured I would ask.<p>Second question: You said, "I offered him 10 percent of profits" - did he accept? Was that part of the written agreement or an oral offer? My thinking is that he's probably going to ask for more and more as he gets closer to finishing and, if you do decide to totally back out and start over, this is important.<p>Third question: What will he do with the code he has written if you decide to end the project? Will he release it for free, market it separately, or...? Does your contract cover that?
andrabout 16 years ago
To answer your question, Java is very easy to reverse engineer. Google for a decompiler. Several years ago I would get an almost perfect copy of the original source, with the proper variable names, etc. The only thing missing were comments :)<p>The legality of you reverse engineering the software is a different matter. But if you have paid the $2500 in question, then you own it.
评论 #526879 未加载
allenbrunsonabout 16 years ago
okay, first, you can't use html in an hn post for formatting. you should go back and add two-return-key paragraph breaks, so your post will be readable.<p>second, getting someone to "reverse engineer" an existing app is a very bad idea. you're already in a bad situation, that would make it even worse.<p>assuming you find someone to do this, they are going to be morally questionable. i, for one, would never agree to do such a thing, not for any price.<p>if you're not happy with the work you're getting, you should have said so a long time ago. if the terms you've negotiated so far allow you to do so, i'd offer him some smaller amount for the source code and call it a day. if he says no, hire another coder to start again from scratch.<p>2500 bucks is not very much money to lose. i just lost six months of my time working on a startup that didn't pan out, for which i received a grand total of 1500 bucks. given how much i was making at my last full-time job, that's an opportunity cost to me of about 50 grand. but i'm sure as hell not going to make things worse by mucking around in the situation any longer. i took my lumps and i'm moving on.
评论 #526883 未加载
评论 #526164 未加载
评论 #526166 未加载
hedgehogabout 16 years ago
I've been in similar situations. As others here have pointed out your time is the most valuable thing on the line here and there's a big danger of wasting a lot of it if you sue. Here's one way you can handle it:<p>1. The quality of the work is probably middling to poor...<p>2. ... so figure out how much of your time $2k and the code is worth to you.<p>3. Hopefully you're friendly with an attorney. Print out all of your documentation for this deal, sort it chronologically, and run it by them to see where they think you stand.<p>4. Provided #3 turned out okay have your friend send a letter asking for the deliverables or a refund.<p>5. Be prepared to either walk away or negotiate an agreement both of you are equally dissatisfied with.<p>6. If you walk away be careful about using the binaries you've got, this guy may have rights to the profits even with everything else that's happened.
indiejadeabout 16 years ago
<i>I've hired a coder to create me a desktop app using JAVA swing that I planned to sell.</i><p>You might be asking for advice in the wrong place.<p>If you want to make money selling desktop apps, the advice you'll likely get from this crowd is "learn how to do it yourself." Otherwise, give your coder at least a 50 percent interest in all of the proceeds from this app.<p>Given what you tell us of his reaction, it sounds like you might be offering him an insulting percentage; think about it like: where would your idea to make a quick buck be without somebody who writes code?<p>Sometimes it's all about respect; other times it's about credit (being known for coming up with X); and still sometimes it's all about money, but most of the time it's a combination of the three. Find out what his combination is.
评论 #526178 未加载
评论 #526268 未加载
评论 #526477 未加载
menloparkbumabout 16 years ago
Give up and start over with someone else.<p>$2500 for 2 months of work comes out to 8 dollars an hour. This isn't a good wage for a programmer anywhere and should have been your first hint that this wasn't going to work out.
评论 #526444 未加载
评论 #526976 未加载
评论 #526331 未加载
plinkplonkabout 16 years ago
As an Indian living in Bangalore, I feel odd saying this, since I know that the myth of the "substandard outsourced coder" is largely just that - a myth <i>IF</i> you know what you are doing, but that said, but do <i>not</i> use sites like rentacoder or try to save money by outsourcing unless you personally know someone good.<p>Find out the market rates for a good developer in your area and pay a decent wage commensurate with the time taken to write good software (2500 $ isn't much even here in Bangalore, I think the guys is just taking you for a ride, unless the software is <i>very</i> simple in which case it can be rewritten trivially) .<p>Try to meet up with the developer every 3 or 4 days (or at least talk on the phone) and as someone mentioned here, own the repository he checks into.<p>Good Luck!
huhtenbergabout 16 years ago
A reality check for you.<p>First, $2500 covers 50 hours of work. Do you think your app can be written in that timeframe ? Hardly. So this amount is not a compensation, it's more of a marginally attractive retainer.<p>Second, the 10% share is a joke. The reason being is that if there is a written app, then 10% <i>commission</i> gets you a simple e-com distribution (shopping cart, invoicing, payment processing). The 30% commission buys you a "fire and forget" kind of deal - you give the distributor an app, they brand it, promote, market and sell it and they also provide front-line support. THIRTY PERCENT.<p>You effectively offered a guy a 90% commission deal and now seem to be surprised he isn't happy. I wonder why.
评论 #526310 未加载
评论 #526314 未加载
huhertoabout 16 years ago
$2500 will barely cover about 100hrs of effort (2.5 weeks). So a $2500 is a really simple app. If he has put that effort already consider that you have had your moneys worth.<p>Likely, he was thinking of a one bedroom house. You were thinking swimming pool, gourmet kitchen, etc, etc. Professional software developers know how to deal with it. The lesson is easily worth $2500.
geoffw8about 16 years ago
Cut your losses. You need to work out, what's worth more - the time or the money.<p>You could start legal proceedings and 2 months down the line see someone else launch your product... I'm one for speed.
spacecowboyabout 16 years ago
To the original poster on this topic...<p>I know you made a deal with this developer but the fact that your original deal was to build your app within 2 months and it has been almost a year now - you REALLY need to walk away. It hurts both emotionally and financially, but based on all the feedback you've received - you should really consider what the community is telling you and move on.<p>I write software for a living and I have been in positions where other contractors have written software for my groups so If I ever made a deal with someone that included having software done in two months - waiting almost a year later for the project to be completed is just plain ridiculous and totally unacceptable. Especially when you take into consideration all of the things that you have mentioned.<p>It hurts us to hear about your story, we wish you the best but help yourself and start over. Take what you have learned from this experience and apply it to the next iteration. The fact that you've worked through a lot of questions, issues and the conops of how your application would work - take this experience and knowledge and find someone that comes recommended and is trusted and give it another shot.<p>Best wishes.
abyssknightabout 16 years ago
I'll agree with the others and say drop this guy without a second thought. That said, if you wrote the contract to include disclosure of source code you should be able to legally ask for it. That said, $2500 is a relatively small amount when we're talking about a complete system with source code rights. Your best bet is likely to file for small claims (usually costs you between $25 and $250 depending on the amount, and you can only file for up to $2500 here in Florida). You likely will not make it to court, and he'll settle. Why? Because everyone fears litigation, especially when they're wrong.<p>Next time around, write the contract the way you want it to read, and account for failures. Make certain everything is in writing, even if there is a deviation agreed upon by both parties. And above all, get what you paid for in increments and never pay in full before the project is done.<p>As a developer, I respect the 50/50 plan as well as the hourly one. 50% up front to cover development costs, 50% at the end to ensure I finish. Works like a charm.
chanuxabout 16 years ago
Didn't you come to any kind of written agreement on your DEAL? If not You have to be very careful of every step you are planning to take.<p>I suggest you to be flexible in this matter &#38; take a step which would do less damage to your investment. I hope HN folks will come up with some good advices :).
评论 #526157 未加载
reinspruchabout 16 years ago
I presume you (or your company) owns the IP. If so, fire him, take the code and find someone else (in this economy, that is not as challenging as it seems) to look at it. You will lose several months, but you will gain clarity and peace of mind (assuming you learn from this lesson and hire a better personality).<p>I went through the EXACT same situation with a Java developer last year. The developer extorted us, refused to hand over code, always demanded more money, was rude and insisted that he was doing us a favor. We finally let him go. Coincidentally, it was around August 2008!<p>Fire him and move on.
philjacksonabout 16 years ago
I feel for you, sorry. If I could be so bold as to offer advice to anyone doing something in the future I would say:<p>Have a lawyer draw up a contract. Make it clear that you own the copyright to every line of code that goes into the revision control system that you own, and if possible, manage. Make sure the contract ensures you see the code often, making it a vital part of signing off any milestone. Always, always have a contract, even if you're out on this adventure with a pal. Money can't buy you friends but it most certainly can lose you some.
Kaizynabout 16 years ago
Go ahead and get this guy to give you a full copy of your source code as it now stands. Since he did not finish the project in two months as specified in the contract - you have a written contract, right? - you can terminate the business relationship on the grounds of breach of contract. There should be no need to reverse engineer software that you paid for. The nature of the business relationship here is that you own full rights to the software. Best of luck to you as this sounds like it will be a real pain to resolve.
daemonabout 16 years ago
I hire developers from time to time. I avoid the situation you are currently experiencing by asking for a development plan which includes milestones and a requirement for "reasonably" documented source code. After agreeing on a price, the fee is split based on the milestones, and paid as code is checked-in and the milestones are reached. If the developer doesn't meet the schedule or decides to bail on the project, then another developer can pick up where the previous "coder" left off.
michaelnealeabout 16 years ago
Yes reverse engineering is trivial (unless a very good obfuscator is used) if you have the binary jar files.<p>However, like others have mentioned, its highly likely there is nothing there of value - so you there is a pretty good chance you will have to write it off.<p>I have heard of similar things happening to this - commonly when the development is done in SE asia (have heard of several cases in the Philippines of this exact thing happening, interestingly).
natchabout 16 years ago
There is a lot to say on this, but much of it has already been said. I'll add just one thing:<p>An important red flag (among all the others in your post) is the statement that he is "almost" done.<p>When any programmer thinks about that statement, it's almost certain to elicit a belly laugh.<p>If he appears to be "almost" done, it is highly likely that he is really around 50% done. Keeping that in mind should help you make your decision to walk away.
jnealabout 16 years ago
"It currently authenticates the user on startup using a script on his server." &#60;br /&#62;&#60;br /&#62; Wow, ridiculous. This should definitely be changed before project completion. You need to get more stuff in writing from the sounds of it. &#60;br /&#62;&#60;br /&#62; I don't want to scare you, but from the sounds of this post, I don't see things working out in a positive way.
brlabout 16 years ago
&#62; I'm thinking the best way would be to get someone to reverse engineer the software<p>You don't have the source code? He just gives you a crippled binary to demonstrate his progress which only works after authenticating with his server?<p>I'm not sure why people here are telling you that there is either some ethical or legal problem with taking control of the work you already paid for.
评论 #526320 未加载
pixpox3about 16 years ago
Thanks for all the advice guys. I'm not from California or even the US, so I wasn't sure about my legal options here. But I've done a little reading and the advice here has helped a lot. It's amazing how solitary you can feel doing this sort of thing! Thanks to all.
评论 #526890 未加载
markessienabout 16 years ago
Tell him to provide the source code to you. You have a 90% stake in the product, you are of course allowed to have a copy of the code. When you have a copy of the code, make your terms clear.
noodleabout 16 years ago
what does the <i>contract that i hope you got signed</i> say?<p>if you didn't get a contract signed, you kind of brought this on yourself. if you did and he's violating the terms, take him to small claims court.<p>if there isn't a contract, consider walking away and finding someone else to do it.<p>i'd highly suggest avoiding rentacoder and simlar sites. they do not typically produce high quality work, and there is often a language barrier issue.
joanouabout 16 years ago
Walk away. There is no point in having the relationship when trust can never be there.
gojomoabout 16 years ago
It's a bad working relationship, you have to end it. The only question is how to salvage something.<p>If you've paid for work so far, and your contract gave you rights to the source code, demand the source code. You could hand that to another developer and it might be of some use.<p>If he won't provide it, and especially if he's local, sue in small claims court for your money back.<p>If you have a running version without source, you could rebid this elsewhere and use both your previous correspondences and the working version itself as a new spec to accelerate the new work.<p>If it's truly $2K worth of work by an ornery contractor, it can likely be reproduced for about the same cost. But it's also possible that he was way undercharging you and that's why he's become ornery.<p>If you have a working code delivery but not source, Java code can be decompiled to recover somewhat useful source code. However, unless there's some fancy custom algorithms/graphics/etc. in your app, a basic 'Swing desktop app' might be easier for a new contractor to build from scratch in their style than try to reuse something from an unreliable coder. Only go the decompilation route if you are confident of your rights to the work (because it was clearly a work-for-hire with you receiving the rights under your written contract, and you haven't orally modified that contract in your pleadings with the developer).<p>Rentacoder and other sites really help prevent a lot of these problems by nudging people -- especially those new to software development -- into doing things the right way... having a clear contract, planning for likely delays, staging things, getting multiple bids for comparison, etc.
jodrellblankabout 16 years ago
<i>Its now almost april and hes almost finished.</i><p>Call me skeptical, but...<p>:)
chiffonadeabout 16 years ago
You were cheap and you've been had. Learn two lessons and move on.