Sunday, April 6, 2014

10 Ways to Help Free Software Movement

1. Use Free Software

First thing you can do to support Free Software Movement is to use free software. Why use a proprietary software when a free software alternative is available? Don't use proprietary formats for documents or codecs for media. For example, go for .odt file format instead of .doc. Go for .ogg file format instead of .mp3 format. By this we can reduce the market share and dominance of unethical companies behind the proprietary software. Once their cash flow is cut off, they will not be able to stop the Free Software Movement by lobbying or through lawsuits and other cunning tactics. So we should show the world that free software are not used by few people in isolation but by everyone who wants to preserve their freedom. Some free software alternatives may have lesser functionality or a bit tough to use. But still they are superior because they respect your freedom. Which is better? curd rice prepared by mom or briyani given by politicians?

2. Release Your Code Under GPL

Whatever code you write, release it under GPL v3. This is the most apt license to release your code in most cases. In some rare cases, you may need other licenses. Please visit http://www.gnu.org/licenses/license-recommendations.html to know more about the license that suits your need. By doing this, you are directly contributing to the Free Software Movement. Now a days people are lured to use the so called open source licenses that don't do justice to users or the developers. Some licenses allow others to include your code and yet release their software with a different license. This results in misuse/abuse of your code. For example, lot of corporate IT companies steal code from open source projects and never credit the real developers or donate the projects. In some cases they even try to compete and destroy projects from which they stole the code. To avoid all these along with hardware locking, you MUST use GPL v3 or any other license by FSF in future. Don't think your project is worthless or your code is not good. There is no wrong in releasing it under GPL v3 than letting it die in your PC. Someone may take it up and improve it or it may find relevance in some other place.

3. Code for Free Software Projects

The next thing you can do is, if you have time, then you can take write code for existing Free Software Projects. You can take up small bugs from their bug tracking systems and fix them. You can also go through the code and optimize/add functionality. This is relatively easier if you have lesser free time. You can just take a bug and try to fix it on a weekend. By this, you can improve the quality and robustness of the free software. Also you can improve your skills by knowing to do things in better way. If you mention that you are an accepted committer in a well known free software project, think how weight your resume will be!

4. Review Free Software Code

The other thing you can do is that, you can review the free software code in your free time. By this, you can spot previously unknown bugs, inefficient or non-standard code, malicious commits etc. Due to this activity, the overall quality of the free software projects will improve. Your skills will also get polished as you read more code and learn from rights and wrongs of others. This is one of the easiest way for anyone who can understand code, even if they don't have time to write code, to help Free Software Movement.

5. Report Bugs

Points 2,3 and 4 are only applicable for people with programming knowledge. But how can a person from different background help Free Software Movement? You can use free software and when you encounter a bug, don't curse and switch to proprietary software. Just report it in the bug tracking system of the project. Sooner the bugs will be fixed by someone else. Nobody will accuse you for reporting a bug! No! They won't come and ask "How dare you can report a bug when I gave it for free?". But they will thankfully see it as a help and try to fix it. By this you are helping the free software less error-prone. You can also become beta or even alpha tester by using the versions under development and actively reporting issues you face. Your contribution as a tester is always welcome!

6. Write Documentation

The other way to help without coding is to write documentation. Many good Free Software projects need good documentation too, so that new users can easily use them. So, if you are a person with good understanding of working of an application, and if the application lacks proper documentation, you can help it out by writing/editing/reviewing the documentation. Even you can fix spelling/grammar mistakes in the documentation. Every small help, when accumulates, results in great changes!

7. Translate

If you are a person with good command of language, then you can translate the documentation or the software itself in to your local language. By this you are making the free software more appealing to people from various countries and cultures. You are not only helping Free Software Movement, but also your local language by making technology available in that language.

8. Professional Advice

Not all free software developers are experts in various fields. For example, a very good C++ developer may be writing a free software for accounting. He needs expert advice in some aspects of accounting to make his software function in the right way. So, if you are an expert in any field like medicine, chemistry, music, electronics, language etc, you can provide your valuable ideas and suggestions to improve free software projects. By collaborating across various domains of expertise, we can innovate in ways we have never before in human history.

9. Spread The Word

You, as an individual you can introduce free software to your friends and family. If every free software user introduces at least 5 persons to free software, soon, we can put a full stop to the proprietary software. Already many such groups are active across the world. So, search for such local groups in your area and join them. Else, start one! Also don't stop just with talking about free software. You can help others installing free software and guiding them to use it. You can push your government/school/office to switch to free software by outlining the benefits of doing so. Write blogs about free software, put banners supporting frees software in your sites/blogs. Free Software Movement is mostly run by donations. So they can't afford costly advertisement campaigns. So, it is up to us to do it for freedom!

10. Donate

The last thing you can do is by donating money or material for the free software projects. You can donate to specific project or to Free Software Foundation itself! Check out the FSF donation banner at top right corner of this blog! Not only money. You can donate by distributing CDs/DVDs containing free software. You can sell free software or books on it and give part of profit to free software projects. You can donate hardware for free software projects. You can buy merchandises, books and other stuffs sold by FSF or other free software projects. If you are not wealthy for all these things, at least you seed torrent downloads of free software projects. By this you are offloading their servers and helping someone who is downloading free software!

Conclusion:

These are not the only ways. My knowledge is limited. So there may(should)be many other ways I have missed. Please share your ideas. Also share your experience of helping Free Software Movement in comments. Thanks for reading.

No comments: