All posts by sankarshan

sankarshan blogs about stuff that interests him and sometimes the same things interest others too. All that is just an excuse by him to start a conversation

A base level course in FOSS

For those of you who don’t visit the site, the iLUG-Cal wiki has a proposed FOSS Certificate Course drawn up largely by Pradeepto. The content is kept intentionally general so as to enable the cultivation of the basic hygiene of FOSS. There’s a subtle difference between programming in FOSS and making FOSS a practice or, as someone said “a way of life”. The course is aimed more towards the latter than the former. So, if you don’t want to go clicky-clicky on the above URLs here’s what the structure looks like:

[1] Programming - How to program? Note : Not specific to any language of the day or the latest buzz word. (40 hours)
* How to Design Programs - some elementary ideas
* Elementary Programming Best Practices
* Constructs and Structures that are part of everyday programming
* Collaborative Programming Practices
* How not to program?
* Choice of Programming Languages
[2] Version control. (6 hours)
* First, Second and Third Generation of Version Control System
* Introduction to Version Control as a workflow
* What are the fundamental aspects of setting up a Version Control System
* Examples of various Version Control System
* Setting up and Administration of a Version Control System using either CVS or Subversion
* Becoming aware of the developments in Version Control Systems - follow the commits
[3] Bug tracking (3 hours)
* Various Bug Tracking Tools
* How to report a bug
* How to follow bug reports
* Setting up a method to track bug reports
[4] Collaborative ways - mailing lists, irc, wikis etc.(Handout) (15 hours)
* Participating in collaboration
* Best behaviour on mailing lists
* Best behaviour on IRC
* Netiquette
* How to work with wikis
* Setting up and Administration of a wiki
* Content on a wiki used for brainstorming
* Overview/General introduction on documentation, testing and localisation ( and tools involved in each of the process )
[5] Day-to-day Linux(y) stuff - Bash [this should be a compulsory part of the course] (25 hours)
* Preliminary system administration
* Troubleshooting issues
* Network
* System
[6] Introduction to Bash scripting. (18 hours)
* Becoming Comfortable with Bash scripting
* Using Bash to complete system administration tasks
[7] FOSS : Licensing, copyright and patents. (8 hours)
[8] External Reading
[9] Project (appropriate bits from an upstream project) - (30 hours or more)

I am informed that Mrugesh is also doing up similar stuff for the NRCFOSS node in Mumbai. That’s good news. What is excellent news for the course is that there are identified folks who are keen to deliver content which is already present in a cohesive format. A discussion late last night on IRC also came up with the idea of coaching the participants in Bug Triaging/Zapping as part of the course. A very basic approach to this would be to set up a machine that has the “devel” builds for the Operating System, the applications and the desktop environment and allowing the participants to reproduce upstream bugs for the userland to get a feel of what proper bug reporting would be. Now a small percentage of the bugs would require fancy hardware or extensive knowledge – but a large percentage of them would be nicely handled/triaged if the coaching is on-the-mark.

The single most important thing that is happening is that the “commit to mailing lists” is being slowly but surely replaced by “commit to tasks”. One hopes that this will lead onwards on to “commit to upstream projects” and the hype over the Google SoC regarding the number of participants from India will be justified. Although it would be best served if all the aspects of FOSS are taken care of. “FOSS” as an word is constrained to “software” and even though the notion of “free culture, free knowledge” is talked about it would be good to see some action on those fronts too. There’s a large amount of work (and this is heavy lifting) that needs to be done in the areas of Open Access, PLoS, SELF Project

There is a need to talk about the MIT OpenCourseware bits and figure out how relevant parts from them can be integrated into the syllabus.

Some bits from Faiz

Pankaj asks folks to figure out the English of a Faiz gem. Here’s what my trusty Faiz collection gave me:

May I be a sacrifice to your streets, oh fatherland, where

It has become custom that no-one shall go with head lifted

And that any lover who comes out on pilgrimage

Must go with furtive looks, go in fear of body and life;

Applied to the people of heart now there is method of administration

That stones and bricks are locked up, and dogs free

Strange since I was trying to recollect bits of these phrases some days back…

RUM is Rishi’s Update Manager

There is a proposal (or rather an SoC application) for an offline updater for Fedora. Currently called RUM by it’s creator it aims to allow creation of YUMPacks enabling those who are network challenged to update their Fedora systems. The final aim would be to allow the creation of the profile (of binaries) for the machine which is network challenged and taking that profile to another machine (irrespective of the OS on that machine), download the relevant updates and additional applications (if required) and create the YUMPack with metadata that can be used by the network challenged machine to install the required bits. There are minor details that need to be sorted out eg the write permissions on the folder based on which the YUMPack would be created, the tools used to create the YUMPack CD/DVD/media, the profile change handling and reverting of binary bits.
The UseCases it plans to address are:

1. Manu has two machines-- one at work and one at home. The former has a nice
Internet connection, while the other one does not. He is a not a geek, and
wants to install a media player, which is there on his office box, at home.

2. Rakesh has five machines, which are not on the same LAN. Although all are
connected to the Internet, the bandwidth is not good and it is costly to
download the same updates and packages on all the machines individually.

3. My grandmother wants to try out Fedora. She does not know about computers,
and finds it difficult to figure out what to install from the long list of
available packages. So, I want to give her a 'yumpack' on a CD containing the
packages she wants to have, so that she can just click and ask Pirut to
install the contents of the pack, without thinking about anything else.


	

Volume licensing, freedom, legality and a proactive stance

FN had posted about a regulation that makes MSFT OS mandatory for cybercafes, there is a blog post about the same from Venkatesh Hariharan. The details about the license in question can be found here or in short “Microsoft Open License is a Volume Licensing program for small to mid-sized organizations that have fewer than 250 desktop PCs. The program provides a simple, flexible, and cost-effective way to buy the latest Microsoft technology to meet your organization’s needs and procurement procedures.” (italics are mine).

What would be good-to-have at this stage is an alternative form of the regulation that has been proposed with the words chosen carefully enough to be pragmatic and capable of standing the test of law. The underlying principle is that the cybercafes require to have Operating Systems that are legal – getting the message across that the Operating Systems under GPL do meet the requirement is an important task. Thus one requires a page that can provide an alternative version of this page.
The associated task would be to setup at some in house software laboratory the UseCases for a cybercafe and attempt to match the same with available FOSS tools. Kushal has some pointers on that.

Someone has to do it…

Atul writes that “As I said during FOSS.IN/2006 – in the end, it is “Free and Open Source SOFTWARE”, and someone needs to *write* that software. Waxing eloquently about freedom and how to do FOSS is *not* a functional replacement to actually writing and contributing code.” That kind of puts to rest the argument why does India not produce FOSS contributors. However, that sort of limits the context of FOSS. Free and Open Source is linked with the concept of Freedom and Commons which in turn is intertwined with the concept of a public space (which is what commons should be about).

The country has a healthy legacy of using and utilising the commons – for creativity and for protests too. As someone reminded me recently, the concept of ধর্মঘট or dharmo-ghat (strike/protest) originated from the practice of protesting against the unjust laws of the ruler of the land by establishing a ঘট at the place of worship and then organising ovens for cooking simple meals for all. The commons was also the space where the ladies participated in rangoli or আল্পনা and the tradition of কথা or tales ie the oral history of myths and legends was also fostered through a healthy participation in the public commons. So, you may have noticed by now that the idea I am trying to get across is that the commons fostered creation of content through active participation by community members. And naturally what it did was also allowed certain freedoms in extending and/or deriving the works (or content) and thus provide an area to allow creativity and consequently innovation.

So, limiting the idea of Freedom and Communities to Software only would really limit the participation from a large base section of the population. Even now (in the era of falling hardware prices) the access to a computer is somewhat limited. I don’t have the figures for PC penetration handy but I am sure that they are really not there. On the other hand, figuring out a means to digitize the output of the commons and make them available under appropriate licenses would lead to a significantly larger number of contributions. Before you shout “Wh0a !!” I am not for shunning code and making non code stuff. What I am for is extending the reach to non code bits to encourage more inclusion. For example, take a look at this photoblog. Code is an aspect that is must – non code stuff is equally important to ensure that the language evolves and the various nuances of the language can be fully explored. Language or content is not limited to what we write or the way we speak (or even the way we are on our social networking circuit). It is a living thing that finds expression in the widest possible media and the concept of Freedom and Commons should go all out to embrace it.

If “non code FOSS is not FOSS” then let’s figure out a term and a process to make it worthwhile to do non code stuff – that is one of the things which is interesting for me these days.

Random idea of the day

To begin with I changed the look of the blog to the Classic one – slightly boring but till the time one comes up with a new look this should do fine.

The random idea of the day was this – how about creating a list of words and thus their spelling forms that translators use in the .po files ? Now given the state of Unicode Normalization that might be difficult although one can look at UTF-8 Processing Library in an attempt to resolve it. Once the list of individual words (one instance of each since there would be repeat usage of the word) is created that can be used to collate and standard spelling guide and thus one area would be standardised.

Is it possible to do it ? I don’t know yet. Ramakrishna says there are too many hurdles he faced during his Entrans days – but would be sure good to have.

Stuff meant for someplace else

This post was actually meant to be for this page but the server was being hammered today and so thought it better to put it down someplace before I completely forget it again.

We have been discussing mostly among the members and a few folks interested in the Membership Committee about the issues with the current workflow. These normally relate to the following:

  1. How to process applications that don’t have a reference ? This excludes applications which don’t have a reference to a person but provide links to the GNOME Bugzilla or perhaps a Changelog
  2. How to define a timeframe for an applicant contact response ? In a few cases (and recently in the case of Corey) till the time all the references respond we really cannot process the application. And of course poking the contacts on IRC or on mail by us is a bit of not-done
  3. How to do away with renewals ?

The last issue is something that is kind of once in sometime. Memberships are required to be renewed when the validity expires – this ought to be automated and should be. What can be provided to members as an option is to opt out of membership if they feel that there has not been substantial contributions to GNOME. While it may have the effect of having folks who did not contribute substantially yet are still members, it also puts some work off the committee’s shoulders. Speaking for myself, the Committee should be validating requests rather than indulging in fancy hand magic f00. Note, that as on date we have around 200 or more members whose memberships are pending renewal. Would not do too much harm if we automated the process and then allowed them to opt out of the membership (some of them have done that out of choice anyway)

Lastly, we need to look into the issues of lowering the barriers to entry for GNOME membership yet make it attractive enough or make it valuable enough so what others can join up.