4

Recently I wrote some (I hope) useful application. I would like to share it with every person on the world, making it open source. I would like to publish the source code as well as binary files (both for Windows and Linux).

I used only free tools to write my application: Code::Blocks, MinGW, gcc/g++, Linux Ubuntu/Linux Mint, Windows 7 with the license I bought. I read about different types of licences but still have some doubts. I looked into the source code of some open source software, for example, here: https://polarssl.org/aes-source-code or here: http://qt-project.org/doc/qt-5/qtnetwork-blockingfortuneclient-blockingclient-h.html.

Those files have some header, where you can find the license as a comment.

Here are my questions:

  1. Is there any place in the internet where I can read about these things? Licensing, how to publish my code?
  2. Should I copy the license to every file of my source code when I want to publish it? From where I can take the license to copy it? (meaning should I copy it both in *.h and *.cpp file?)
  3. For Windows version of my application I used Visual Studio Express Edition and Qt. To make an *.exe which will run out of the box with no additional installations, I need to redistribute with my *.exe file some files from Qt and Visual (*.dll files). How and where can I check if its free to redistribute those files with my application?
  4. Which license would be the best for my needs?

I did a little research and found that license: http://opensource.org/licenses/BSD-3-Clause. Is it 100% good for my needs, any advices?

closed as too broad by GlenH7, Kilian Foth, jwenting, Thomas Owens Nov 6 '14 at 19:54

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

12
  1. Is there any place in the internet where I can read about these things? Licensing, how to publish my code? Sure - lots of them. You can start with the Free Software Foundation's "How to choose a license for your own work", but remember that they have a strong bias towards a certain form of software sharing. The Open Source Initiative also has a nice list of licenses, and while they also have a bias, it's in a different direction from the FSF.

  2. Should I copy the license to every file of my source code when I want to publish it? From where I can take the license to copy it? That will vary depending on which license you choose. Most licenses suggest that you include at least a single line saying that the file is covered by that license, and mentioning where (in the code base) to find the full text.

  3. For Windows version of my application I used Visual Studio Express Edition and Qt. ... How and where can I check if its free to redistribute those files with my application? Most development environments, including Visual Studio, are quite explicit about which of their run-time components you may or may not re-distribute with your application. Thus, for example, the Microsoft Visual C++ 2010 Redistributable Package is a freely-redistributable set of run-time code to enable use of Visual C++ applications without needing a licensed copy of Visual Studio.

  4. Which license would be the best for my needs? You haven't really said what your needs are, besides "shar[ing] it with every person on the world". You haven't said whether you want those people to share their changes to your application with you and/or others (an FSF goal). You haven't said whether you want to let those people sell your application or incorporate parts of it into applications they sell (more of a BSD/MIT goal).

But since you looked at the BSD 3-clause license and find it meets your needs, then yes, by all means, use it. The BSD license is one of the first Free/Open Source licenses, and has stood the test of time very well. It conveys rights to use the code in any way the receiver desires, denies them the right to claim you created their version without your permission, and holds you harmless for their use of it.

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