3 ms·
Perfect! Possession is nine-tenths of the law. Pacta sunt servanda. You made a good deal about something you created, and you had the powerful means to enforce
by rambambram 5y ago
Perfect! Possession is nine-tenths of the law. Pacta sunt servanda. You made a good deal about something you created, and you had the powerful means to enforce the deal. I like that. People can say this "sounds unethical", but this is exactly what every other employee or freelancer should aspire.
- eloisius 5y agoYes, it's nice to have it _when you need it_, but consider all your other honest customers that years later discover your kill switches littered throughout the code they paid you to write. They'll have to pay some other developer to untangle or work around them. If your contract with your customer doesn't include a provision for the them, or it wasn't on the roadmap you worked out with your customer, you're delivering them something with defects that may cost them later. To say nothing about how they will feel about you once they discover you anticipated that they were a cheat the whole time you worked with them. Paranoia-driven engineering decisions like this are no good. If your customers are bottom-of-the-garbage-can customers, get better customers. If you can't find better customers, then perhaps you are right where you deserve to be, doing garbage work for lousy cheats, which you must booby trap to make sure you get paid. If that's where you are, fine, but I hope no one with a brighter future reads these kinds of comments and thinks that being a bottom feeder is the norm.
- rambambram 5y agoI might have misread the comment. I was under the assumption that a business deal went wrong, and that the programmer never ceded ownership of the source code to begin with. Ofcourse, preventing is better than healing. But if you happen to make a deal and the other party turns out to be illegally selling something that's yours, than it is better to be able to enforce that deal.
- noduerme 5y agoI think you may be misunderstanding my position. To be clear, the original company owned the functionality they were purchasing. They needed software that did X, Y and Z. A lot of the code that went into it was code that I had already written for other purposes, including my own projects. They never owned that. They then sold the company as if they owned it - i.e. as if the purchaser would have free access to the source to repackage as they liked. I had no such contract with the original company, much less the buyer. I should also clarify that this was a PHP backend that was handed over freely, and a public-facing Flash app that was handed over as an SWF. At heart it was a highly specialized video / social platform. Graphics assets were handed over. What was not handed over were the front-end AS3 scripts; and I used a few hex editing methods and other ways to trap the compiled bytecode that would crash all known SWF decompilers. I also had it phone home if someone tried to decompile it. (All those decompilers would start by importing the SWF onto the root object of another SWF; root detects a higher parent; kaboom). What those guys did, and what the other company tried to do to me, was unethical. I didn't even have the right to sell them exclusive use of some of that source, because it was already deployed in other commercial projects. I didn't have the right to sell it out from under the other companies who already had paid for use of it. My refusal to sign [Fortune 500 company's] contract was on their behalf as well as my own. That company wouldn't listen to reason, so I left them a working binary and said "good luck", and then watched it keep phoning home until they gave up trying to decompile it. Also, I've never prevented an honest customer from accessing source code they needed, and in this case I was willing to negotiate a non-exclusive use of the source code with the new company, for a fair price. But they refused that. They demanded sole ownership for $0, and they wanted to pay me half my rate for consulting. Not to mention they themselves are one of the most blatantly unethical companies in the world. I didn't feel like I owed them anything.
- rambambram 5y agoYou perfectly defended yourself and your possessions. More software developers and knowledge workers should take this as an example.