Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Suppose you want to develop an application, in midst of development you find out that one similar application already exists, highly recognized and used. It's a cross platform application but it's unknown whether this application is open source or not.

However you decide to reverse engineer it without taking care of its license and eventually you succeed in it. And now you are using some portion of it for your application, which in some manner improvement of the application and -being based on same idea and targeting some platforms that the original application also covers- comes into straight competition of it.

Can original developer detect that you plagiarized the original code? If yes how?

share|improve this question
1  
Have you had access to the source? This is a huge distinction, both legally and technically. If this is a non-trivial app and you did not have access to the source, it is unlikely that you could have plagarized the code at all. Reverse-engineering is a seperate issue entirely from copying code from someone else's project and pasting it into your own. –  Morgan Herlocker Jun 8 '11 at 13:27
8  
Why did you put such a silly constraint as not knowing if the application is open source or not? You either looked at the source, which would cause obvious problems, or you didn't and you just duplicated its functionality. If the application is highly recognized then it being open souce or not would be known. –  Ramhound Jun 8 '11 at 13:29
    
It sounds like you're skating near the edge of illegality, and I don't know on which side. Consult a lawyer with appropriate specialization if you want to know that. As far as whether it's detectable, you haven't given enough information to tell that. Moral aspects aside, this isn't a constructive question for this site. –  David Thornley Jun 8 '11 at 15:56
add comment

4 Answers 4

up vote 14 down vote accepted

It sounds like you are performing clean room design. As long as there are no patents involved, carrying out clean room design properly has been found to be legal in courts in the US. In order for this to work, however, you can have no knowledge or access to knowledge of the internal workings of the other system.

I would consult a lawyer or someone with expertise in patent, trademark, and copyright laws, however. They would know more about what you might need to do to claim clean room design and if any other laws are applicable to your situation.

share|improve this answer
    
As far as I know patent is not there, but what if I change some UI to prevent the legal actions and copying core logic as-it-is which covers 90% of the app? –  Prasham Jun 8 '11 at 13:19
5  
I would consult a lawyer for more information, but if you only use the application from a user's perspective and are able to figure out what it does and write it yourself without communicating with anyone with knowledge of the actual implementation, you have performed clean room design and should be fine. Of course, someone with legal experience is he best way to go. –  Thomas Owens Jun 8 '11 at 13:21
5  
@MobileDev123 - Without looking at their code you have not copied core logic, you have copied core functionality. That is a slight difference. –  Tyanna Jun 8 '11 at 13:40
    
Apple is sueing Samsung for using rounded edges on the icons on their tablet, claiming it's a plagiarism or otherwise violation of Apple's intellectual property. Clearly there are people who think you can sue and win if someone makes something that looks like your product, or their lawyers would have advised them to spend their money and corporate image otherwise. –  jwenting Jun 8 '11 at 14:37
    
@jwenting: Apple has a few patents that could be liberally interpreted as covering that kind of thing. I expect Samsung will get it overturned on obviousness grounds, but not until they spend a few million dollars on the legal proceedings. –  greyfade Jun 8 '11 at 15:18
add comment

If you did not have access to their source, then I would not call it plagarism, since you had no ability to copy them at the code level. Your code might look similar, but it could look very different. That part is a matter of chance. A good example of this is the Mono Project. If you have ever worked with Microsoft on .Net, seen the .Net source, or used a decompiler on the .Net Framework, then you are not allowed to contribute to Mono.

What might want to be concerned about, and what they might be concerned about is if you blatantly ripped off parts of their functionality. This happens all the time, of course, but it also can be a source of litigation.

I could be wrong, but it does seem you are walking a tight rope on some moral grey area. Even if there are no legal implications, I think the old "Don't be evil" slogan might apply here. No, they probably will not be able to tell that you plagarized their code, but are you really ok with that? It sounds like you did not plagarize, but if you were to use any "shadier" techniques such as a decompiler, knowledge of their source, or copying a feature that is patented, then I would be concerned.

share|improve this answer
    
Yes Decompiler is used..... it even decompiles obfuscation... :-( –  Prasham Jun 8 '11 at 13:27
2  
It is tough, but I would discontinue or try to go in a new direction. You do not want to have to be asking "Can I get away with X?". IMHO, it simply is not worth it. You are pretty clearly on the moral low ground here, and that is a bad place to be from both a legal, business, and personal perspective. –  Morgan Herlocker Jun 8 '11 at 13:34
add comment

Well if you use the exact same code (variables, functions names etc) and the original developer reversed engineered it then yes he would. If you change the function names/variables then most likely yes. There are software tools that can compare code and provide a probability that they are a copy of each other.

If you implemented the same algorithm he may still be able to detect if his algorithm is unique or performs in a particular way.

It is just a bad idea to do this.

share|improve this answer
add comment

So instead of doing your own work you want to steal that of others and change the looks a bit in the hope noone will notice.
At the very least that's highly unethical, most likely it's illegal as hell. Hopefully is will land you in serious legal trouble, and hopefully (if you did it without the knowledge of your employer) they'll be among those sueing you for every penny you'll ever be worth.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.