- AV Catalog
- Field Reports
- For Developers
- OpenDSA Project
- Getting Started
- Newsletter #1
Tools of the Trade
Submitted by ajalon on 29 March 2010 - 11:28am
Version Control: Whether you favor SVN (SourceForge) or Git (GitHub) or one of the other choices, use some sort of version control system to manage your project. Even if you are only planning to write a one-off visualization that only you will work on, once you learn to use a repository (and save to it frequently!), you won’t go back. Over time, you will ﬁnd more and more uses for it, including keeping track of what you need to do (issue tracker) and managing your project (milestones). And if you plan to go Open Source, this is the best way to distribute your code.
Licensing: Speaking of Open Source… It won’t do anyone any good to have your code if you don’t put a license on it. If you just stick your code out there with no license, then by default it is copyrighted with all rights reserved. That means that they cannot (for example) ﬁx your bugs and post those ﬁxes. Or pass a copy of your project on to their friends. Putting your code under license is necessary in order to give others explicit rights to do certain things. And if you posted your code in the ﬁrst place, then you probably wanted them to be able to do those things.
Licensing can seem complicated, because there are so many choices and the distinctions can be pretty subtle. So here are basic suggestions if you want things to be easy.
- If you don’t want anyone to use your code or your program for commercial purposes, then consider the GPL.
- If you don’t care how people use your code, so long as you get credit and won’t be sued for the bugs, then consider the MIT license.
Using either of these is easy. Just put a copy of the license ﬁle in with your project, and put a comment at the top of your source ﬁles that references the license.
If those choices don’t satisfy you, then there are a ton of discussions on the Internet about different license options. Start with the OSI OpenSource Licenses list.
Be aware that Creative Commons licenses are not ofﬁcially sanctioned as "open source licenses" for sourcecode. Most importantly, that means that you are not supposed to use SourceForge or GitHub to host your project, since they both required that your project be licensed with an OSI approved license.