Guide on writing my first open source software? [closed]
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
开发者_运维技巧 Improve this questionSince last August 2009, I have been working on project but then decided to release it as an open source project. The purpose of this project is to provide an alternative to existing commercial & expensive solution.
So my question is, how can I get started ? The prototype has been ready since May and now being rewritten in Java. Which license type do I need to pursue ? LGPL? MIT?
Thank you,
John.
Figure out what you want people to be able to do with it. Do you want people to be able to use it for anything, including commercial stuff, or do you want it to be locked down as open source crazy GNU stuff? This list should be a good start. http://www.opensource.org/licenses/category
Next, pick a place to host the project. Google Code is a great one and I believe they require your project is a certain license. So that makes your decision for you.
Another thing you might want to consider is source control. If you like SVN, Git, or something else that can matter. GitHub is a good place for git projects and almost all of your hosts will have svn support.
There are numerous Open Source licenses, but the ones I'd recommend are either BSD-style or the GPL. You'll have to decide which you like. Should people be able to take what you've done and wrap them into proprietary software and sell it, without necessarily giving back their changes? Up to you. A BSD-type license might get you more users, and a GPL-type license might get you more development help.
If you're thinking of dual-licensing, with an open source and a commercial license, you almost certainly want to go GPL for the open source license, since BSD-style doesn't leave you with enough extra rights to sell.
You keep the copyright on everything you do that's not for hire, unless you explicitly give it away. If you start getting help from other people, you need to decide what to do. You can ask for the copyright to be transferred to you, which will keep your complete copyright control at the expense of discouraging outside developers. You can trademark your software, to keep the branding, and this is independent of who owns what copyright. I'd advise talking to a lawyer about that, as trademark law isn't as clean as copyright law, and can vary from state to state. If you live in the US, you can probably get a lawyer referral from your local bar association, and it shouldn't cost much for an initial consultation.
As Jonathan said, check the OSI for information on possible licenses. Pick one from there. They'll all work, more or less, unlike a license you might write up (unless you know what you're doing). Some sites, like Sourceforge, don't allow projects that are not under an OSI-approved license, so you'll get more options with an OSI license. Moreover, lots of people are already familiar with the standard licenses, and you won't have to explain your license to them.
You could use any of the main Open Source licences - it is going to depend on what you want from the project.
- GPL
- Berkeley (minus advertizing clause)
- MIT
- Apache
You probably wouldn't use the LGPL unless what you're writing is a library.
So the Open Source Initiative for information abuot possible open source licences. Do not try to invent your own.
If you want be protective about the software you could for example one of
- GPL
- LGPL
But in many cases a more permissive license attracts more users.
- MIT
- Apache
are quite permissive.
If you want to do dual licensing then consider using GPL and a commercial license.
Before you pick a license and you have to answer yourself :
- Do I want forks?
- Do I want commercial usage of my software?
- Do I want that my software is included in commercial software?
- Do I want to enforce any license on forks?
Pick an already established license from here : http://www.opensource.org/licenses/category
If you want to setup your project then just have a look at GNU Hello, which I think is a good template to start setting up an open source project and regrading license it depends what you want from projects as explained by others already.
TL;DR Legal allows you to look up open source software licenses and get a summary, in plain English, of what you Can, Can't and Must do with the software. It also allows you to see the affects of combining two licenses, although that option is misleadingly called "Compare Licenses."
精彩评论