Let's face it today there are many people who are very
enthusiastic about cutting edge technologies like GNU+Linux. However
many of them have only vague ideas about how they can contribute to
Linux and how they can help Linux establish a better position on the
desktop market.
Well don't worry,there are many. Here are some in a top 10 list.
Well don't worry,there are many. Here are some in a top 10 list.
1) Write documentation
If you are a programmer(even not the most experienced one) the
best thing you can do is to write proper documentation for your
software. The reason for this is that by doing that you lay the
groundwork for the rest of this list,especially for number 2. Also it
does not have to be your own software. In the Linux world there are
many libraries, API's, SDK's. In fact most good Linux developers are
accustomed to using their actual Operating system as their
development environment. However the problem is that many libraries,
API's and SDK's and such are not well documented. Sometimes not even
documented at all. This presents a hurdle for anyone developing third
party applications who is not at least a seasoned programmer, and
even they find it highly uncomfourtable. By writing documentation you
are immensely helping other programmers. Don't forget to write many
code examples in your documentation. Everything from hello world
examples to complex algorhythms.
2)Program
Another great way to contribute to Linux is to write software for
it. Just think about how nice it would be to have an application that
does this and that and start writing. Or if you aren't up to writing
a whole new application you can just join the developers of some
other application if it is open source,or you can fork other
applications as long as you credit the authors. Of course all of this
in the case that the application is open source. Or you can join the
developers of a Linux distribution. You know a great CLI program but
want an interface for it? Why not write one yourself? Or if you feel
up to it,the Linux kernel and base system developers are always
looking for fresh recruits. However the main issue right now for
desktop Linux is the lack of 3rd party support. So ideally
you should develop 3rd party applications, and ideally
provide an API from your application and its libraries.
3)Package
Pacakging is the process of transforming software from it's source
code form into a more easily installable software package. The most
common Linux software packages are known as .deb and .rpm.
Linux is very convenient for installing software. You just open up
your software center, look around for your desired application for a
bit and click install. Installing software on Almost every Linux
distribution is no harder that installing software on your
smartphone. Then for some software which is packaged but not on your
software center, you have to use some google-fu, download the right
package, double click on it and install it. However once in every
while you will find some unpackaged software and to install such
software, it can be a hassle. Especially for novice users. If you
decide to do some packaging work by packaging some as of yet
unpackaged software you will make the life of many Linux users a lot
simpler. You can even go a step further and try to submit your
packages to software repositories of some of the more popular Linux
distributions.
4)Spread the word
Desktop Linux is still not a common household name.Most people
outside of technology circles still don't even know it exists. Go out
there on the internet, write blogs, communicate with people who are
not Linux users. Of course,don't be annoying with it, however as soon
as the topic arises or when you see an opening to start the topic,
why not? Tell them how it is free(as in freedom and very often as in
free beer), stable and secure. How people who invest a few minutes
are able to find Linux distributions tailored for them, and how when
using open source it is the computer that serves the user, not vice
versa. Just remember, more users means more developers and more power
users. If those developers are able to create something of value on
closed platforms, just imagine what beauty could they make on an open
platform like Linux.
5)Send bug reports
Some people have a preconceived notion that programmers don't want
bug reports. They could not be more wrong about it. A good programmer
really loves well written bug reports. Usually he will try to help
even with not well written bug reports,but most of the time that is
just not possible. Most Linux distributions have implemented bug
report systems that do most of the work for you. In a well written
bug report you provide detailed information about your hardware, the
software you are using, the operating system you are using it on and
detailed steps on what you did that triggered the bug. This allows
the developer to reproduce the bug and subsequently fix it. And by
sending bug reports you may accidentally even find out that the bug
was already fixed or a workaround for it exists if many people
already encountered the same bug as you did.
6)Donate
Most open source software is given to the user for free(as in free
beer).However developers also need food. And there are usually other
costs, like server upkeep. Although open source developers have other
options for income(like ads or selling support for their software),
donations can help greatly as well. And if you want a developer to
support a certain device, you can even donate that device.
7)Translate
Even if English is the most widespread language in the world.Even
if English is the language of the Internet, some people are still
quite uncomfourtable with using software that is not in their mother
tongue. And while most Linux distributions offer translations to most
of the worlds languages, most 3rd party software is not
translated, and if it is the quality of the translations is debatable.
8)Write tutorials
There are many new users on Linux every year. Also often software
changes, which changes the users workflow. So many users will always
appreciate a well written tutorial. Remember that when writing a
good tutorial it is always better to guide the user by his hand.
9)Help people use the software
Because every moment Linux gains so many new users, those users
often encounter problems. It would be beneficial if you would roam
the forums or various help websites for Linux and try to answer some
of the many calls for help Linux users have.
10)Be part of the community
Remember that Linux is a community driven project. In fact it is
often better described as a movement than as a single operating
system(which it isn't,every one of the 1000's of Linux distributions
is its own system). Go out there and let your voice be heard. The
different people leading software projects based on Linux usually
keep track of the opinion of the community. In fact the community
itself is usually punishing to those who don't listen. So your
opinion might change the Linux world for the better! Just go out there, roam the forums, write blog posts like these etc...
So those are only guidelines. However if you do follow them, you are probably doing the right thing. And who knows,maybe one of those open source companies notices you or a company in need of a Linux administrator notices you as well, so you finally get your Linux dream job! ;)