Showing posts with label Software. Show all posts
Showing posts with label Software. Show all posts

Tuesday, July 4, 2017

Java 9 is Coming With Modularity

Few weeks back, due to controversies surrounding modularity, RedHat and IBM voted against the next release of Java (9). But now everything seems to be back on track! Java Specification Request (JSR) 376 has been voted with a overwhelming majority of 24-0. RedHat abstained form voting, but expressed its support for the schedules of future versions of Java.

Major players like the Eclipse Foundation, Twitter and Hazelcast have took a 180 degree turn and voted in support of modularity as they are happy with the progress. Modularity was actually planned for Java 8. But due to the complexity of the project and inability to reach a unanimous opinion on the implementation, it has been postponed to version 9.

Project Jigsaw was started in a view to bring modularity to Java. Though it won't support all OSGi functionalities, this project can go hand in hand with OSGi for better scalability, availability and performance. Already Java is getting enough mistreatment in Oracle's hands. Let us hope this new change gives the platform a good thrust forward.

Thursday, August 25, 2016

லினக்ஸுக்கு வயசு 25!

1991-ஆம் ஆண்டு லினஸ் பெனடிக்ட் டோர்வால்ட் (Linus Benedict Torvalds) என்னும் ஃபின்லாந்து நாட்டுக் கணினியியல் மாணவரால் ஒரு பொழுதுபோக்காக ஆரம்பிக்கப் பட்டதே இந்த லினக்ஸ். லினக்ஸ் என்பது முழுமையான இயங்குதளம் (OS) இல்லை. அது இயங்குதளத்தின் கெர்னல் (Kernel) எனப்படும் உட்கருவாகும். லினக்ஸ் கெர்னல் கிணு-வுடன் (GNU) சேர்ந்து கிணு/லினக்ஸ் (GNU/Linux) இயங்குதளத்தை சாத்தியப்படுத்தியது. இருபத்தைந்து ஆண்டுகளுக்கு முன் லினக்ஸின் ஆரம்ப நாட்கள் குறித்து லினஸ் டோர்வால்ட் கூறுகையில், "அது முழுவதும் ஒரு தனிநபர் செயல்பாடாகவே இருந்தது" என்கிறார். மேலும் 1991-ஆம் ஆண்டு அவர் லினக்ஸ் குறித்து எழுதிய முதல் பதிவில், "இது கிணு போன்று திட்டவட்டமானதாக இல்லாமல் ஒரு பொழுதுபோக்குக்கான ஒன்று" என்று குறிப்பிட்டிருந்தார்.
கிணு இயங்குதளத்திற்கான வேலைகள்  அமெரிக்கரான ரிச்சர்டு ஸ்டால்மன் (Richard Stallman) தலைமையில் வழிநடத்தப்பட்டு வந்த நேரம் அது. ஏறத்தாழ முழு இயங்குதளமும் முடியும் தருவாயில் இருந்த நிலையில் அதற்குத்தேவையான ஹர்ட் (Hurd) உட்கரு (கெர்னல்) மட்டும் தேக்கநிலையில் இருந்தது (இன்றும் அப்படியே உள்ளது!). மினிக்ஸ் (Minix) என்னும் மாற்று இருந்த போதிலும் அது கட்டற மென்பொருளாக (Free Software) அப்போது இல்லை.  அந்த நேரத்தில் யாரும் எதிர்பாராத வண்ணம் ஃபின்லாந்திலிருந்து உதவி வந்தது.
ஃபின்லாந்து நாட்டின் ஹெல்ஸின்கி பல்கலையில் கணினியியல் துறையில் பயின்று வந்த லினஸ் இணையத்தின் மூலம் தன்னுடைய கெர்னலை வெளியிட்டார். மேலும் அதை கிணு பொது உரிமத்தின் (GPL - GNU General Public License) கீழ் வெளியிட்டார். அப்போது மினிக்ஸ் கெர்னலை எழுதிக்கொண்டு இருந்த ஆண்ட்ரு டனேன்பௌம் (Andrew Tanenbaum) லினக்ஸின் கட்டமைப்பு மோசமானது என்றும் தன்னுடைய மைக்ரோ-கெர்னல் கட்டமைப்பே சீரியதென்றும் விவாதித்தார். அதற்க்கு லினஸ் தன்னுடைய கெர்னல் ஒரு சிறிய அளவிலான ஆதாயமற்ற மென்பொருள். மேலும் அது இன்டெல் 80386 சிப்பிற்கு மட்டுமே எழுதப்படுவது என்று கூறினார்.
ஆனால் இன்றோ இந்த லினக்ஸ் கெர்னல் நீக்கமற எங்கும் நிறைந்துள்ளது. உங்கள் கைப்பேசியில் உள்ள ஆண்ட்ராய்டு இயங்குதளம் முதல் பங்குச்சந்தைகள், நீர்மூழ்கிக்கப்பல்கள், குளிர்சாதனப்பெட்டிகள், தொலைக்காட்சிகள், விண்வெளியில் சுற்றும் செயற்கைக்கோள்கள் வரை பல இடங்களில் லினக்ஸ் ஊடுருவியுள்ளது. உலகில் உள்ள மிக வேகமான 500 சூப்பர் கம்ப்யூட்டர்களில் ஒருசிலவற்றைத் தவிர அனைத்தும் லினக்ஸ் கெர்னல் மூலமே இயங்குகின்றன.
கைப்பேசிச் சந்தையில் ஆண்ட்ரைடுக்குப் போட்டியாக இருக்கும் ஒரே இயங்குதளம் ஆப்பிள் நிறுவனத்தின் ஐ-ஓ.எஸ். ஆனால் ஆப்பிள் நிறுவனத்தால் கணினிகளில் (மேசைமேல் மற்றும் மடிமேல்) ஒன்றும் சாதிக்க முடியவில்லை. மேலும் ஃபயர் ஃபாக்ஸ், டைசன் இயங்குதளங்களும் லினக்ஸ் உட்கருவையே பயன்படுத்துகின்றன. இதற்க்கு நேர்மாறாக கணினிகளில் மேலாதிக்கம் செலுத்தும் மைக்ரோசாஃப்ட் விண்டோஸ் இயங்குதளம் கைப்பேசிகளில் சொற்ப அளவிலேயே பயன்படுகிறது. ஆனால் கைபேசி மற்றும் கணினிகள் என்று மொத்தமாகப் பார்த்தல் லினக்ஸ் உட்காருவே அதிகமாக பயன்பாட்டில் இருக்கிறது. இணையத்தை இயக்கும் சர்வர்கள் (server) பெரும்பாலும் கிணு/லினக்ஸிலே இயங்குகின்றன. இந்த அடிப்படையில் இன்று உலகிலேயே அதிகமாகப் பயன்பாட்டில் உள்ள இயங்குதள உட்கரு லினக்ஸே!

இதன் வெற்றிக்கு முழுக்காரணமும் யாருக்கும் சேராது. இது ஒரு கூட்டு முயற்சியே! இன்றைய நிலையில் லினக்ஸ் நிரலில் வெறும் 0.2% பங்களிப்பே லினஸ் டோர்வால்டிடம் இருந்து வருகிறது. இணையமும் தொழில்நுட்ப முன்னேற்றமும் பல புதிய வழிகளைத் திறந்துள்ளன. 25 ஆண்டுகளுக்கு முன் இருந்த இணையமும் கணினியும் சாதிக்க முடிந்த ஒன்றை இன்றைய நிலையில் 4ஜி-யும் ஸ்மார்ட்போனும் கொண்டு நாம் செய்ய முடியாதா? கூட்டு முயற்சியும், ஒத்துழைப்பும், ஆர்வமும், தேடலும் இருந்தால் லினக்ஸ் போன்ற எண்ணற்ற புதிய படைப்புகள் தோன்றும். அது கணினித்துறையில் மட்டுமே இருக்கவேண்டும் என்று அவசியம் இல்லை. மருத்துவம், வேளாண்மை, வாணியல் என்று எந்தத் துறையிலும் இருக்கலாம்! வாருங்கள் அறிவைப் பகிர்ந்து ஆற்றலைப் பெருக்குவோம்!

Monday, June 6, 2016

Why eBooks Are Evil?


  • You don't own the book.
  • You can't gift the book.
  • None can inherit your books.
  • You can't donate it to local library.
  • You can't sell it.
  • You can't buy it for second-hand price.
  • There is no way to have special editions.
  • Rare books which are no more of interest and out of print (say for example Soviet era books) can't be found in eBook stores.
  • Your books can be censored by or deleted by anyone sitting in a remote location.
  • Photos, diagrams, tables and maps look better on physical books.
  • You can't have any number of books open in front of you and cross-refer as with the physical books.
  • You need to recharge your batteries.
  • Your guests won't have an opportunity to peek in to your collection and find a common interest.
  • You can't show off your collection to others.
  • Your children will not be drawn to books if you always stare at a tablet. But a colorful cover is enough to hook in someone to read the book.
  • Your reading choices can be used to predict your political or religious or any other demographic information with data mining.
  • You won't get the physically connected feeling with your book. Unlike the physical books, with eBooks, all books feel the same in your hand.
  • You need to stay with a particular service provider to access your books.
  • You need any third-party software or hardware to read your book.
  • You can't tear away pages, paste extra pages, combine and bind a customized book as per your wish. (My dad had compiled entire novels from published series in some magazines.)
  • Paper may be considered polluting. But the impact can be mixed. But with tablets, the impact is always negative. Paper wastes are far less damaging than e-wastes and pollution from manufacturing process of tablets. Also eBook readers need constant power supply throughout their life! Hence eBook readers are far more damaging to the environment.
  • Can't be used to cover your face, hold your ticket or letter, swat flies, as pillows or to adjust the height of your monitor!
  • Can't be burnt to show your opposition to an ideology.

These are very few of the many reasons why eBooks suck and its advocates are dumb.

Monday, May 16, 2016

Way to Go Wayland!


With the newer version of Gnome 3.x shells, you get an option to try Wayland sessions. You have to choose it in the login screen. I have never seen Gnome running so smoothly in X previously. Wayland is very smooth and very fast. But Wayland is still a work in progress and it may first arrive only for Gnome. While I tried, my videos files didn't play in SMPlayer and I had encountered very few gaps. (These are not bugs or glitches. These are areas where Wayland team is closing up. So it is wrong to call them bugs or issues).
Manjaro with GNOME 3.20 using Wayland
Wayland is designed from the scratch at the same time, keeping all the shortcomings of X display server in mind. X is like dinosaur and had its own time during reptilian era of GNU/Linux. In no way X is inferior to any other thing. But X's days are over. It is time to make way for a more secure, less buggy and architecturally clean Wayland.

Here is a short video of Wayland in action:


Fedora tried to make Wayland by default for 24 release (which will arrive by June 2016). But due to some gaps and effort needed for packaging and testing everything, that has been postponed to some later release. KDE project is also working with Wayland support and planning to make it default display server in near future. Bleeding edge distros like Arch and Fedora may get Wayland within next 12-18 months (May-Nov 20017?).

Ubuntu on the other hand is working on Mir (another display server). It was supposed to be arriving with 16.04 LTS release but it missed. Still 16.10 may not get Mir. Unity 8 and Mir are the two crucial updates which Ubuntu users are waiting for a long time. Like Internet Explorer had its own "standards", Mir is Canonical's way of doing Wayland. But Canonical has a valid reason (at least according to them) that they are working on convergence (same OS, UI, UX across all devices) and Mir is what they need. May be!

All I can see about Wayland is exclusively positive. I am confident that with Wayland, the UI will be buttery smooth, with less bugs and more security. Also I think nobody will troll Wayland like they do Systemd. Some or other day Systemd will also become the default display server. Oh my! I myself can't help trolling Systemd ;-)

Sunday, July 26, 2015

Media Players for GNU/Linux

People often think that GNU/Linux lack support for video/audio playback. With Distros like Linux Mint having out of the box support for most video/audio formats and almost all Android phones work seamlessly with almost all media types, it is still a common myth that GNU/Linux won't play MP3 or MP4. So I am just listing few media players that can do the job for you.

VLC


Surprisingly many people running Microsoft Windows use VLC doesn't know that it is part of Free Software. But VLC (Video LAN Client) is the most widely used media player among Windows users. It plays everything from FLV to FLAC told one of my friend who runs Windows and a Microsoft fanboy. He challenged me to show an equivalent or alternate for VLC in GNU/Linux. When he visited my house next time, I showed him my PC having the same VLC (latest version). So VLC is one of the most commonly used media player that GNU/Linux users can make use of.

Link: https://www.videolan.org/vlc/

Kaffeine

Kaffeine is a very good media player that has a whole set of features to give you a full fledged media center experience. It is a KDE based player (you can still run it in other DEs.) It has support for scrambled and copy protected DVDs (you may need libdvdcss) and it is easy to use too. It is the default player for most of my DVD viewings.

Link: http://sourceforge.net/projects/kaffeine/

SMPlayer

This humble yet powerful player is not known outside the GNU/Linux world much. But if someone tries SMPlayer, they will make it as their default player for sure. It has very nice sound output and it has lot of settings that will allow you to tweak every aspect of your audio/video. The excellent keyboard shortcuts will come handy while watching videos. I am so addicted to the shortcut configurations of this player as I wonder how other players got them so wrong.

Link: http://smplayer.sourceforge.net/

So, if you are running GNU/Linux, just search for these packages in your software repositories. Sometimes you may need to add some other sources or to build from source (that is not the case usually as all major distributions have these media players in their repositories). Please share about your favorite media players in GNU/Linux systems in the comment section.

Note: Personally I strongly suggest you to stay away from non-free media formats. For list of clean and free media formats check the below link.


Link: https://www.defectivebydesign.org/so_youve_got_some_questions_do_you#formats

Friday, October 24, 2014

Ubuntu 14.10 – Steps to Upgrade

As discussed earlier in a previous blog post, Ubuntu 14.10 is out! Finally the wait is over. Before you are going to upgrade your OS, keep in mind that 14.10 is a regular release and 14.04 is a Long Term Support release (meaning you will get security/critical updates for 5 years). So if you want the LTS to stay, don't bother updating your PC/laptop until 16.04, the next LTS version, which will be release around April, 2016. With that said, for those who always want the stability of Debian with cutting edge packages, can proceed with upgrading their OS.

Steps to Upgrade:

First update your machine. Open terminal, type the following command

sudo apt-get update
This laptop was bit outdated!
Type in the password. After completion, run

sudo apt-get upgrade
Depending upon the number of packages you have and the interval of update it can take few minutes to update your OS to latest available packages.

After this, go to “Software & Updates” click on the “Updates” tab and check the “Notify me of a new Ubuntu version:” option at the bottom. It should be set to “For any new version”.
Search for "update"
Check the last option in the "update" tab
Now go to “Software Updater” and it will notify you that a newer version of Ubuntu is available.
Search for "updater"
Wow! The wait is over!
 Click “Upgrade” and you will be presented with the release notes. Click “Upgrade” here too!
It will download the “release upgrade tool” which will take care of the remaining upgrade process.
The upgrade tool will do preliminary preparations for the upgrade and calculates the packages to update as well as size of download and approximate time to download. Ensure that you have enough time and stable Internet connection. If yours is a laptop, then don't forget to connect the charger! (But sadly, there was a power cut during my upgrade process and my modem went off. But thankfully the download started from where it was left in between!)

Click “Start Upgrade” and the packages will be downloaded. After that the required packages will be installed/upgraded and obsolete packages will be removed.

After everything is over, the upgrade tool will prompt you to restart your machine.
And after that!!!
The wallpaper looks awesome!

Tuesday, October 21, 2014

Ubuntu 14.10 Utopic Unicorn

Only two days to go, Ubuntu 14.10 Utopic Unicorn is planned to be released on 23rd October 2014. If you expect either Utopia or a Unicorn, you will be disappointed for sure. But if you expect a stable and user-friendly operating system, you will never get disappointed with Ubuntu.

Ubuntu 14.10 is a normal release (supported for 9 months), unlike 14.04, which is an LTS (Long Term Support, supported for 5 years). So, if you are running Ubuntu 14.04 and not interested in upgrading your OS for next one and half years, without losing security updates, they you should ignore these versions till Ubuntu 16.04 comes to your rescue!
A laptop running Ubuntu

Ubuntu 14.10 will pack Linux Kernel 3.16 (I am already running 3.17 through openSuse Tumbleweed!) which is well tested up to Debian standards. So you get a latest kernel without compromising stability. Linux 3.16 packs better support for Btrfs filesystem, improved performance in ARM platforms (mainly for smartphones and tablets). This will aid Ubuntu to get a better ground in mobile arena.

Sadly on UI front, neither Unity 8 nor GNOME 3.14 is coming with this version. Also the uncertainty surrounding the new Mir display server also prevails. So, if you are looking for anything new in UI/graphic area, then you have to wait a bit (or even much more) longer.

But against all odds, Ubuntu is a trusted name among PC and laptop users. Its user friendly nature and bundled software make it default choice of people who want an OS that just works! This "just works!" mantra is what Apple uses to sell their products for sky rocketing prices. But Ubuntu gives you everything for free.

Monday, September 8, 2014

Unethical Behaviours of Some Apps

There are many stupid apps. But there are some apps that do more than just being stupid. They are totally unethical and evil. In this post, I will share few of such cases and provide some tips to avoid such apps.

1. They steal your data

There are some apps that snoop in to your data. They read what you type, they find where you are and lot other activities you do. Some apps (at least in theory) can even turn your microphone without your notice and send the sounds to their servers.

To prevent such apps from infringing your privacy, you need to double check the permissions of the app. If they have unjustified permissions, then NEVER install them. Nobody is born with a smartphone and surely everyone can live without a stupid app, especially when it does more harm than good.

2. They violate others' privacy

One (or more) of my stupid friend(s)/relative(s) had an app called "True caller". The evil privacy violators behind that app shamelessly steal the phone numbers in the user's contact book along with names. I was shocked to find my name and some of my friends' name in their servers. Some people claim that it only uploads after asking the users' permission. But to make MY phone number with MY name available to public, they need to get MY permission and it is not enough to get their stupid user's permission. Recently the morons at "True Caller" allowed their system to be hacked and exposed millions of user data!

The worst part is, if someone saves our number with pet names, then that too is visible to public. One day, when I was travelling in train, two college students were chatting about girls. What they said shocked me! One of the boy told his friend that he just randomly search numbers and collect numbers that have female names. Then he will make calls, calling them by name and other details. He said, some names also have the name of office/college of the person and hence he can easily trick them believing that he is their friend.

There are many such apps (WhatsApp is one) that not only endangers you but people in your contact list. Also there are lot of people who save credit/debit card numbers, PIN numbers etc in contacts. Everything is going to the app's server! Beware! To avoid such apps, my advice is to check the permission. Also report such apps to Google. If they are not listening, then take it up to other proper forums. If you have such apps, then it is time to remove them right now!

3. Fake Apps

These are apps that pose like genuine apps with all the logo, name and description, but a fake app. The following incident too happened just 3 weeks ago. One person who was sitting near me in a bus was talking through phone to his friend. He was telling that their company's (I guess it may be 4 to 5 person strong) business model is to create fake apps and post them in Google Play Store. He was telling he had created a fake app for a popular Tamil website and getting around 300 to 400 rupees per day (through ads).

To avoid this problem, check the developer of the app. If you are in doubt, check the email id of the developer too. If you find the app suspicious, report it immediately. Also write it clearly in the review too.

4. Stolen Apps

Some apps just lift the code of open source apps, rename it, change the logo and re-release them as closed source. This is violation of some free software licenses like GPL.

To avoid such apps, first check if there is a free software alternate for the app you want in F-Droid repo and if available, use it! If you strongly suspect code theft in any apps, inform the original developer about the same.

5. Bloatwares

Some phone manufactures bundle some apps with their phone itself. These apps range from mostly harmless to full fledged spywares. There is no way to uninstall them unless you flash your phone with a different ROM. Some of these apps are hardwired so that some phones need them to work properly.

To mute such apps, go to settings and try to disable them. If you are worried about disabling the app preventing other functionalities, check before buying. Also write feedbacks to the manufacturer that you have opted not to buy their phone due to bundled bloatware!

Saturday, June 21, 2014

Must Have Tools for All "Free" Musicians!

In an earlier post, I have mentioned that practicing with a metronome can do improve your skills. But there are some downsides with the metronome. It can produce one or two type of tones. It needs battery (in case of mechanical metronomes, they need proper maintenance). And it costs you money.

What about having a drum machine? They cost even more than metronome. What to do? Here comes two good Free Software (free as in freedom) tools that can help you improve your timing skills without any of the before said limitations and for free of cost!

GNU GTick

GNU GTick is for people who like the conventional metronome. It is fully configurable metronome with a neat and simple GUI. You can configure the tempo (speed or beats per minute) or you can pick it from the preset values. It comes with a visual tick. You can also select the beats in which the accent beat should sound. It is such a small tool that you don't need anyone to teach you how to use!
GNU GTick in action

Hydrogen
Hydrogen is also a Free Software. It is a full blown drum machine. It comes with a default set of drum samples. You can also download more samples and include your own. You can compose individual patterns and club them together to create a song. Each and every aspect like velocity, pitch, volume, pan etc are controllable and you will feel that you are practicing with a real drummer by your side!
Hydrogen in action

Conclusion:

With right set of tools and good practice, anyone can improve their music skills. Surely GNU GTick and Hydrogen are must have in those right set of tools! As a "Free" Musician (Free as in Freedom) let us make sure we use free software, codecs and licenses for all our works. Also we should say no to restrictive technologies like DRM. May the power be with us!

Saturday, June 14, 2014

DRM in Firefox?

In yet another bad move, Firefox has decided to include DRM in coming versions. First, DRM is not Digital Rights Management as claimed by its proponents but it is Digital Restriction Management used to impose restrictions on end user. So Firefox has decided to allow an option so that third parties can restrict its user. The entire Free Software community is fighting against DRM while Firefox is saying that they will include DRM to have a better voice in the forum.

How This Will Impact Firefox?

Most people using IE are using it just because it came bundled with the operating system. The same goes to Safari. Others who want a different browser install Google Chrome due to better rendering, faster loading, apps and last but not least, marketing by Google. Already Firefox's market share is falling. But still Firefox is having a good user base compared to other lesser known browsers. Who are those users? Most of Firefox's users are people who care more about freedom. They use Firefox against all odds because they feel it respects their freedom (but recent moves by Firefox paints a different picture). So the move to include DRM will repel most of the Firefox users to switch to some other browser they feel that respects their freedom.

We can Just Disable DRM?

The point that anyone who doesn't like DRM can just disable is not valid. The reason not to support DRM is not a choice but a moral obligation. So, if Mozilla stands firm and says no to DRM, then surely there will be some backlash among users against DRM. Remeber, what Wikipedia did with SOPA? Can't we do it again?

Conclusion:

Dear Firefox, stop implementing DRM before everyone abandons you. You are respected for the values that you stood by. Once people find that you have lost those values, you will be forsaken for ever!

Wednesday, April 16, 2014

What GnuTLS and OpenSSL Teach Us?

Recently there are lot of news about security issues in the Open Source software. GnuTLS was the first to come in light followed by OpenSSL (so called "Heartbleed" bug). Some people are completely unaware while some others (corporate slaves) use this to attack the free software movement itself, saying open source is insecure.

First, being  an open source project won't make the code superior or free of bugs automatically. Only with repeated review and testing along with highly skilled programmers, quality software can be written. So, who is going to review? Who is going to code? Most of the free software are developed by comparatively good developers and frequently reviewed by maintainers and communities. Most of them have an active base of beta testers too. So the free software are, most of the times, superior in quality compared to proprietary software.

BUT, there are many projects where the maintainers accidentally overlook a programming error, which may or may not be intentional. In such cases, there is a chance for the bug to get in to the released version. It will stay there for longer time after this phase as mostly the review will happen for new code. So, unless a biting issue shows up or someone by chance catch the bug during reviews, the bug will stay.

This is what happened with GnuTLS and OpenSSL. But there is a solution for this problem. As we discussed earlier, college students and hobby programmers can be encouraged to review, test and write code for free software projects. That will surely improve a lot. The next is, the corporates who use the free software should show some social responsibility by providing software engineers to test, review and bug fix the products they are using. OpenSSL bug was uncovered by Google's review thankfully. I know, there are smaller companies who can't do that. They can contribute by donating whatever amount of money or time or resource they have for the projects they rely upon.

Quality and safety won't come for free. Especially, in a community, it is everyone's responsibilities. But what people expect is much like, "I am a user and they are the developers". That mindset is the worst problem here. Everyone should think we are part of the free software community and whatever we create or use should benefit all of us.

By the by, for those corporate slaves, Free Software developers are resisting government pressure to create backdoors for the security agencies. But corporates gladly open doors for some money. With closed source tools, who knows how many such bugs exists? Don't think that as the source is closed, nobody can exploit it. Malicious hackers will use disassembler to do the job for them. So unavailability of source and rigid licensing will only delay or prevent identifying and fixing the issues while won't impact those who exploit the issue.

When there is a bug in the free software or open source software, it becomes news because they are rare. But millions of proprietary software bugs are exploited day in and day out without much noise because they are usual thing and even serious issues are covered up by corporate lobbies.

If you still feel that free software are inferior in quality, then it is time to do something to change it instead of sitting and complaining.

Talk is cheap. Show me the code. -Linus Torvalds

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.

Saturday, April 5, 2014

Free Software, Open Source and Freeware

There are lot of confusion about the words Free Software, Open Source and Freeware. I try my best with my limited knowledge to explain things in layman's terms so that people from non-technical background too can understand.

1. Free Software (கட்டற்ற/சுதந்திர மென்பொருள்)

Many people confuse that Free Software is the one that is available for free of cost. But that is not true. Most free software are available for free of cost but the word "free" in the free software stands for freedom. Free software respects your freedom by allowing you to study the code, modify the code, redistribute or sell the copy or modified copy to whomever you want and to give back your changes to the community. All of these good things come with one condition. If you modify the code of a free software, your code should also be released to the public (whenever the modified version is distributed). So with all these good intentions, Free Software becomes the morally superior choice of software for anyone! If you are a programmer, then you should release your code under GPL v3 or any other FSF approved software license to protect your and everybody's freedom. If you are an ordinary user, still you can help Free Software movement by using free software alternatives, avoiding proprietary software, reporting bugs, helping with translation, asking for new functionalities, donating money and by introducing others to use free software.

2. Open Source (திறந்த ஆணைமூல மென்பொருள்)

These are the software in grey area. These software have their source code open but the motive may be different than respecting user freedom. For example, a company may throw a small tool as open source to boast about the code quality and by that gain popularity. Or else they can give a software as open source but the software needs to consume their service which may be paid or ad supported (as in the case of Android). Still some other companies release their outdated or hard to maintain projects as open source so that the community will take over bug-fixing and enhancing the same. There are some open source licenses that restrict forking. So we can't say that all open source projects respect the user/developer freedom. And there are some developers who release their source code without any proper license and these code can be misused/abused by corporates. As the source is open, we can be sure that there is no backdoor or provision to steal your data. So not all open source software are free software but all free software are open source. Even though open source software are superior than proprietary software, they are still inferior to free software. So they can be used sparingly and if possible, the open source project maintainers should be educated to release their code with a more freedom respecting license.

3. Freeware (இலவச மென்பொருள்)

Any software that is given for free of cost is called freeware. The Tamil name says more clearly what it means. Most of the Windows users think about these software when we tell them about "free software". Examples are µTorrent, AVG Antivirus, Winamp. These are given for free of cost but with no freedom attached. For example, if you find a bug in the software, you can't really do anything about this other than contacting the creator even if you know the programming language with which the application is developed. This is because the source code will not be available. Also if you make modifications to their software there are good chances for you to get sued for "intellectual property" (which is non-existent) infringement. Also you can't be sure that these software are not spying you by collecting your data or allowing back doors to others like NSA to spy you or take control of your machine. So one should try every possible way to not to use any freeware.