I think that the need here is actually more determining of the python-appindicator library is present. If it is present, it will support all the fallback cases that you need. It will handle XFCE, KDE and older GNOME appropriately. Good example of how to do it in this answer.
The appindicator library will use DBus to check if the application indicator rendering process is available. This will be the case on Unity, or if the indicator-applet is running. If it is available it will use that, if not, it will fallback to using a GtkStatusIcon with the same menu.
Unfortunately, I believe you'd have to keep both code paths if you want to handle the case of the library not being available. Though, we'd be happy to help get the library in other distros :)
I should prefix this with: I am not a copyright lawyer. If you're really concerned about something, contact one. People at the FSF might be able to help you.
You should include the full text of the license. Even if you just stick it in a LICENSE file at the root of the project. I don't think anything immediately bad would happen if you didn't but in the long term (which copyright is), not having a solid reference to your license could be a bad thing.
Being explicit doesn't cost very much time.
Edit: actually the WARRANTY
section might be worth including for your protection, whichever license you choose. I have no evidence to say that not including it implies a warranty, but again, be safe, not sorry.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
A copyright notice (© <date> <name>
) isn't legally required in most places anymore but not including it doesn't help anyone. You'd have a harder time proving you owned copyright and it would be a lot harder for people who want to license it under different terms. I would definitely put it in there... But I guess this isn't really an issue with BSD/MIT -style licenses.
As for using a handle or nick, in other medias people have been using pseudonames for centuries. If it came to a legal suit, you'd need to be able to prove you are that person so obviously this might make it a little harder but it's not insurmountable.
If you're going MIT, you have so little legal recourse that these issues will probably never apply to you.
The year in the copyright notice isn't essential but if you wanted to sue somebody in several decades time, you'd have to prove when it was created. Which might be hard. A fixed notice helps you and costs nothing but a few seconds.
We should be clear here.
- GPL allows commercial redistribution but the source code of the whole thing must be available (with changes) to anyone who purchases a copy of it .
- LGPL is good for software libraries. These can be included in proprietary projects without needing to redistribute the whole source. The only time source distribution needs to happen is if they edit your code and even then, they only have to release their changes to it.
- MIT code can be relicensed freely. Somebody could take your code, verbatim, and re-release it under GPL, proprietary licenses, etc.
"GPL vs MIT" is an eternal battle. Go with whatever you're actually happiest with, not what is most convenient. If you're not happy for potentially evil people to take your code and use it for potentially evil or lucrative purposes, use something where you have some recourse like GPL. If you really don't care and you're not using any GPL'd code yourself, a more liberal license like MIT would be fine.
Remember virally-open-source licenses aren't just good for you, they ensure that your work, however it's adapted and re-released is free for everybody under the same terms. Even if you're dumping the code with no interest in maintaining it, GPL gives it a better hope of remaining free.
There's no need to rush it these decisions either but you have to think of the worst possible cases to really know if you're making the right decision. Once it's released under one of these licenses, that's it, it's done.
Best Answer
This is not really true. Only the GPL license and a few related licenses are "copyleft", forcing you to opensource the software constructed based on the GPL software. However, you can freely use for example the LGPL libraries. In fact, the LGPL was created specifically with this goal in mind -- creating closed source applications with shared open source LGPL libraries. Moreover, under BSD or BSD-like license (for example, Python) allows you to essentially take as it is and do whatever you like with it.
In other words, open source does not enforce open source. Moreover, opensource does not mean "free as in beer". You are perfectly allowed to charge for open source programs, or create an open source program but ask for money when selling data (like media files or resources associated with that program).
To sum it up:
Thus, you can happily write your program, linking it to a broad range of libraries or even directly incorporating pieces of alien code, compile it and sell it as a proprietary, closed source program, as long as you do not distribute modified GPL'ed programs.