Hi, people)
So, following up on my last post, this time we are gonna delve deeper in the open source and more specifically what is the process that makes it work i.e. the ground level details of how a package is processed once it leaves the developer and before it is made available in the main software repository.
BTW, still wondering about F.O.S.S ?
Hey, don’t blow all the steam up on this acronym, F.O.S.S stands for Free Open Source Software, see, easy !
So, let’s say you have an idea and you want to show off your coding skills ( plus doing this is worth yet another reason, as the process is really enlightening ). You convert that idea in your head through blood, sweat and toil [ Okay, Okay, nothing that dramatic=) ] to a code. Now you want to take over the world using that little idea [ Evil-Genius alert !! ].
During the development process you need to take care of the coding as well as the entire flow of the program. You need to think both as, to use the economic tags, consumer and the producer for the product to be successful.
As a developer you really need to take care of the fact that, what you have made would be available to all the people inspite of the minor/major differences in the platforms or variants of the OS they are using. So, it might be a good idea to use the most standard of language libraries and most common OS features so that the product is not relevant or usable to only a fraction of people. Of course, it’s true that products built for Mac OS-X systems would still not run for Windows and vice versa as the underlying principle ( which means even if you have the same graphical theme and the same hardware, duh ) are quite different. But while we are discussing as beginners let us not look too far ahead, so for now let us stick to the various variants (or flavors ) of the Linux-based distributions, which in turn are again divided into two major systems. Namely, and I am only gonna name the most famous instances, Cent OS and Ubuntu.
BTW, this is only limited to the free software that are available to one in the respective OS. So, if you are inclined to make money off of your very first app, well, Merry Christmas to you !! =)
Traditional Linux distributions are built around packaging systems like RPM [Cent OS] or dpkg [Ubuntu], and an organization model where upstream developers and downstream packagers are relatively clearly separated: an upstream developer writes code, and puts it somewhere online, in a tarball. A packager then grabs it and turns it into RPMs/DEBs. The user then grabs these RPMs/DEBs and installs them locally on the system. For a variety of uses this is a fantastic scheme: users have a large selection of readily packaged software available, in mostly uniform packaging, from a single source they can trust. In this scheme the distribution gets all software it packages, and as long as the user trusts the distribution all should be good. The distribution takes the responsibility of ensuring the software is not malicious, of timely fixing security problems and helping the user if something is wrong.
So, if you have persevered this far, which I am sure you have, take a deep breath ‘cos the most nerdy part is almost over.
Now, let’s talk about why people really contribute and collaborate on projects that they hardly expect to make off a living. Well, think of it as a giant canvas, you can’t really paint a masterpiece the very first time you pick up a brush so you develop your skills first and get your feet wet, so to speak. You make the idea more concrete, it’s like writing down a story which you yourself started in the first place but then somehow the status quo changed, and now it’s the story that’s guiding you, revealing itself to you page by page, bit by bit and in our case code by code=)
You remember me talking about an Idea-Obsessed hobbyist. Well, recently I came across a brilliant quotation which goes something like this
“ Man is most himself, when he achieves the seriousness of a child at play”
So, with this food-for-thought I am going to call it a post and meet you guys the next time with something interesting to say.
Till then,
This is Himanshu Sharma
Signing Off=)
No comments:
Post a Comment