This longish post would attempt to chronicle a bit about birth of Hamara, the various initiatives being taken now to make Hamara, a community space where people can experiment not only with Hamara but all and any ideas which would enrich the commons and open-source space.
- History about how Hamara came about
I initially started thinking about an Indian Linux distribution around 2011. Initially the idea formed through a combination of personal passion to create a linux distribution and wanting to see Indian developers take a bigger place on the open source stage.
That initial idea rattled around in my head for quite some time – and grew into a somewhat larger vision. I started to think, why limit this to a Linux distro? Indian culture lends itself to the co-operative approach. It’s embedded deep into our culture – so we should be able to turn these cultural traits towards the technology sphere generally in order to help ourselves and one another.
I started to discuss the concept with some of my colleagues at Tech Blue. Amardeep Singh and Kumar Shantanu we’re pivotal in these discussions and between us we started to look at what was out there already.
We found little choice in terms of Linux distributions catering for the Indian user and we found no one that seemed to be looking to build a community around a distro.
At the start of 2014 we started to get more serious about the project and started researching how to go about creating our distro. We looked at a number of approaches and we’re really attracted to the way the gnewsense had created their distro.
Gnewsense was however built on an old version of Ubuntu – but we very quickly came across Trisquel. Trisquel was built onto of Ubuntu LTS and we liked the way they had extended and improved the gnewsense “builder” concept. This seemed to us a good way to build a distro – and we settled on adopting a similar build approach – often referring to trisquel and gnewsense scripts in order to make our own. Both of those projects we’re concerned with removing non-free code from Ubuntu – our job was rather easier- we we’re mainly concerned with re-branding and improving usability for Indian users. We also wanted to run with packages in some cases that we’re newer than upstream.
The journey to our first Hamara release continued through 2014. More techblue staff joined the effort, we spent further time experimenting with ARM hardware and looking at how to use the distro as a central point for establishing a maker type community that would empower people to “Do it yourself” with software, hardware and infrastructure such as telecoms.
After many long days and late nights Hamara Linux 1.0 codenamed “Namaste” was born on 18th February 2015 – built on a base of Ubuntu with a Gnome 3 desktop environment. We’re now in a position to start talking about it and begin fostering a community. We are also in process of changing upstream from ubuntu to debian so we have an advantage of more control over release cycles as well as larger sets of packages than we can have under Ubuntu.
– Vikas, BFDL,Hamaralinux.org
Now with that bit of history, let us try to understand what all goes all in making a GNU/Linux distribution.
There is quite a bit of infrastructure that is needed when you are starting a GNU/Linux distribution. Let’s first try to understand what is a GNU/Linux distribution and why we thought of that instead of any other software product.
Let’s bifurcate the terms a little bit so we know what’s what .
GNU/Linux – The term is a combination of two projects. The first project is the GNU project run by Mr. Richard M. Stallman and the community that runs the Free Software Foundation. They contributed lot of small utilities that are needed in any computer. Utilities such as for keeping time, date, copying files and lot of other things which are and were necessary in order to get things done on the computer.
Apart from the software they are also credited with creation of the General Public License v1 , right now it’s version 3. I wouldn’t go into the specifics of licensing as that’s a huge topic in itself but would simply say it made it possible for software developers to make money as well as keep the source code open for students, entrepreneurs, anybody to take, use it, learn from it and extend it with the rider that whatever changes they do they will need to pass it on. This was at a point in time where commercial Unix vendors charged a bomb and Microsoft also had started as a commercial entity. So Mr. Stallman and the community which was created informally via community networks and BBSes of the time realized there would be a time when the hardware would become cheaper but software will still remain out of reach of many or they would be called as ‘pirates’. Now, while they went on making all the utilities necessary for an Operating System they lacked a kernel.
Linux kernel – A kernel is both the brain and the spine of an Operating System. It is omnipresent throughout the time the system is up. It is responsible for allocating and deallocating memory to programs and systems, balancing programs and even shutting down programs in case there is less memory available. While these are some of the functionalities that a kernel does, it goes much more wider and deeper. This is with reference to the monolithic Linux kernel. The kernel itself was started as a hobby project by a gentleman named Linus Trovalds. The name Linux came from the combination of his name ‘Linu’ and the ‘x’ comes from ‘Unix’. He wanted to name the project ‘Freax’ but somehow retained ‘Linux’ which in hindsight was a much better decision than ‘freax’ 🙂
Distribution :- This is another word which is associated with most FOSS (Free and Open Source) Operating Systems. Almost all the software is developed at different places and work of the distribution is to integrate such softwares, give it a nice theme, feel, support people and institutions, fix any issues people have using the distribution and also help improve the software with people who are making those softwares. The expertise lies in integration, support, documentation and having friendly relations with people who are developing such softwares. At times, you also see the need to develop softwares which are not fulfilled by existing softwares as well.
Now in order to do such things some resources and tools are necessary both for transparency and understanding who is responsible for those tools and how they are using it. Some of the tools we have set up so far are :-
a. Version control System (VCS) – Unlike a Proprietary Operating System where everybody sits in the same office, in FOSS distributions people are scattered everywhere. A version control system allows people with different geographies, lifestyles to be able to contribute to the project at any point in time. This helps the contributor as well as the project as the project is not bound to any one time-zone. Hamara has also done the same and can be seen at https://git.hamaralinux.org/ . As it is early days, the repository is not open but in the near future when we are close to a release we are happy with and would be in a position to engage with the wider community that will be thrown open, so watch that space.
b. Mailing List – As an open-source project where developers do not have the luxury of face-time that a proprietary organization has, a mailing list serves as one of the most essential tools where developers and users and can share their concerns and help in turning ideas, roadmaps to reality. Hamara has also that in place and can be seen at http://lists.hamaralinux.org/listinfo/hamara-devel . There are lots of improvements that would be happening there in the near future so watch that space as well.
c. IRC – IRC or Internet Relay Chat is another tool which works by complementing the mailing list. While a mail may give some idea about a topic, IRC allows you to discuss things threadbare. Those of you who have used either whatsapp or telegram or any other group-based chat tool are using a modified version of IRC with some additions to it. IRC started in late 70’s and is still going strong. This can be seen at https://webchat.oftc.net/ , just need some nickname and look for channel #hamara . In addition to the IRC channel, we also maintain logs so they can be used in case somebody is not present for any discussion at http://irclogs.hamaralinux.org/ . Again, there are going to be some changes done both within the IRC channel as well as the IRC logs so watch those places as well.
d. Wiki – I am sure people are aware of what wikipedia is. In essence, a wiki is basically a place where you can put up any information which needs to be disseminated to a large group of people. In essence it is similar to a manual with the benefit that not one person is responsible for making that manual. While wikipedia is focused more on being a repository of generic information, the hamara wiki is focussed more on documenting things happening within hamara. See http://wiki.hamaralinux.org/ . As shared before, this is just the start, people can expect to see lot of changes in the near future as we start using the wiki more and more.
e. Blogs :- Another tool that is used to share motivations about why a decision was arrived at or if any potential idea/ideas are to be talked about and needed to be broadcast to the whole world. This is a platform used by developers and external contributors who contribute towards hamara. While most blog posts may be technical in nature, it is also an avenue to throw an idea out in the world. As have shared before, as this is just the beginning, you would see lot of changes happening here as well as we chart the course.
f. Website – Finally the place where it all begans and ends. hamaralinux.org is where the crux of all the big and small changes would be known. It is the first and the last place where people can connect with us. As have been shared innumerable times now, lot of changes can be expected at that space as well.
If you are wondering as to why so many changes, well multiple factors are the reason for the changes :-
a. FOSS by its very nature is susceptible to change and feeds on change. It is simply the way we are.
b. Tools that we are using are like any other tools that we use in life. Software tools have this advantage that as time goes on, you are able to mould it to your workflow. Also there is lot of features and knobs that these softwares have and only over period of time you come to know, understand and work with these different knobs.
c. FOSS is flexible because the source-code is open. You are able to abstract (put away) your data from both the logic as well as the user-interface (UI) and you can change both or either depending on your needs.
While the above are the bare minimum that is needed, it also tells a bit of the resolve of the people behind the project. Just as a farmer has to clear the area and make it flat and ready for the seeds to be put into land, that is at the stage where we are atm. There is lot that is expected from us, but without this infrastructure and tools, we cannot expect to go there without these.
Looking for feedback, ideas and contributions 🙂