Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

There is a a program that I want to use that is released in two (fully copyrighted) ways:

  1. Stable binary form
  2. Beta release, mostly-stable binary form that is easy to derive the source (uses jars) (this version is free)


  1. Can I legally download the beta version, make the necessary changes to work properly on my machine, recompile and then use the software?
  2. If yes to question 1, can I then explain to people I work with how to do the same thing so that they too can use the product?

In no way would I be giving them the modified software, but rather distributing instructions how to modify it. The original download would still come from the copyright owner.

I believe I have done my due diligence searching these and google's forums, but as always, if you find a duplicate question, please let me know (and point to where it is found). It seems odd to me that this hasn't been covered yet.

share|improve this question
What is the license on the software? You likely need to talk to a lawyer. – user40980 May 28 '13 at 23:27
@MichaelT It is fully copyrighted, all rights reserved. – NickO May 28 '13 at 23:36
You may be able to modify it for yourself, though some licenses prevent reverse engineering and you may have difficulty with that, though de minims may come into play. Distributing a modification or instructions for modification however may get you into trouble. Though much of that can change depending on the country you live in and the country the application holds copyright in. Talk to a lawyer. – user40980 May 28 '13 at 23:42
You could always do what OJ did.. "If I were to modify this program to work on my own machine this is how I would do it." That way you are just stating how you would do it in instructions to other people without admitting that you actually did it. – The Muffin Man May 29 '13 at 0:50
Is there a reason you can't contact the copyright owner and provide the information required to make it work on your machine? It'll take some time to make it into the beta or stable releases, but it'll help people who don't work with you as well. – Velociraptors May 29 '13 at 2:17
up vote 3 down vote accepted

You need to know how the application and associated source code are licensed.

Keep in mind that copyright != license. They're related but different.

Some licenses such as BSD, MIT, GPL will allow you to do as you suggest. Other licenses will not.

So the answer to your first question depends upon the license of the project.

The answer to your second question depends upon your jurisdiction and to a degree the license. Explaining how to reverse engineer proprietary code is usually prohibited by commercial licenses so you could run into problems there. The same explanation on open source software isn't an issue.

share|improve this answer
This shows my ignorance, but thank you very much for being so explicit with highlighting that copyright and license are not the same thing. I always assumed as much, but didn't actually know the difference until I looked it up after reading your answer. – NickO May 31 '13 at 4:30
@NickO - we're all here to learn. – GlenH7 May 31 '13 at 11:12

Are you "copying" the part of the program or all of it? Is your program/app when compiled have any resemblance on the original? Is it a GUI or just plain library code? I think you can easily get around when you're just using part of it, and if your app does not resemble or function the same way as with the original.

Licenses varies so you better try to consider that when re-using code, even big Companies get sued for this kind of matter.

My suggestion is, if there's a app or source code that functions the same way with that you are trying to re-use using Apache License then better go with that.

Otherwise, a "hacky" approach is to just copy parts of it, ideas and patterns from the code. If it's not patented then I don't think they can sue you for looking at their code, and creating your own code out of that code you saw.

share|improve this answer

Your Answer


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.