I know what happens each summer

The onset of summer is generally characterized by stifling heat, mangoes and, a rush of CVs from students who want to do summer internship projects. That is, GSoC notwithstanding. It happens each summer, unfailingly and inevitably. There are two specific trends that are observed in the CVs:

  • most of them are from students pursuing some form of Computer Science and Engineering or Information Technology
  • a larger percentage of them would be making their first contributions to the world of FOSS if they end up working on a FOSS project

The first part is an area that sometimes make wonder if we cannot reach out to folks from other streams to spend their summers productively. There is an increasing need to have cross-discipline interaction and, while CompSci and IT may be an easier path to matchmaking, how do we end up getting other people interested as well. For example, say folks from the Arts and Fine Arts, other Engineering disciplines etc. Ideas and comments welcome on that.

The way to solve the second part of the problem is somewhat simpler – devise a very “high touch” mentor-protege driven system wherein the first_time_participant is given an intensive orientation in the basics of how to participate in a project, how to provide bug reports, how to create patches etc. Additionally, teaching them the basics of using FOSS infrastructure bits like mailing lists, IRC, version control systems and so forth. The point of failure in this path is of course when there is a project/task to be identified and handed over to the student to attempt to solve. The following issues come up:

  • most upstream projects do not seem to have bugs/tasks marked with something like “student project” which makes it a somewhat tedious job to sift through a whole lot of possibilities before hitting on a particular cache of tasks
  • there are no ‘defined’ upstream mentors for the tasks, so, even though a student might be able to deliver most of the tasks by {him|her}self, there is a lack of upstream ‘buy-in’
  • the above two couple together to the conclusion that there is no proper assessment of the time estimate for a task/project

I often hear the question that “if there isn’t any interest from upstreams, why not get them working on projects that are relevant for problems at hand ?” And, the answer to that is something along the lines of “having first time participants contributing to upstream projects is a quicker means to coach them into good citizens than having them think up, design and deliver their own projects”. There are days I wish that each upstream had something like “summerprojects.upstream.domain” kind of filtered view of tasks/projects with a mentor who could provide a bit of abstract/summary of what that task means. It isn’t really a big ask – and a little bit of push from the bodies that oversee the project could make this happen.

And, since the upstreams are nothing but what their contributors make them out to be, I keep on doing my bit to coax and cajole them into seeing the value in this. Especially so because with each passing summer I notice that the caliber of the students are somewhat on the upside of the scale.

Digital Content in Local Languages: Technology Challenges

I was reading through an article of the same name by Vasudeva Varma. Barring a whopper of a statement, the author does a reasonable job of pointing out some of the areas that needs to be worked on. To begin with however, let’s take that statement:

For example, Hindi is rendered properly only on Windows XP and beyond. Though there are some efforts to create Indic versions of the Linux, largely there is very little support for Indian languages.

It is a bit out out of context but nevertheless it is worth pointing out that one would have expected a bit more accuracy from the author. Especially because availability of Indian languages and their ease of use on Linux distributions have improved significantly. And, folks who use the Indian language Linux desktop on a regular basis for their usual workflow are somewhat unanimous that “things do work”. In fact, it would have been nicer if the author had taken the time to test out a few Linux distributions in the native language mode to identify the weak points. Most of the upstream projects do have very active native language projects with a significant quantum of participants from Indian language communities. For example, translate.fedoraproject.org, l10n.gnome.org, l10n.kde.org etc are the ones that come to mind immediately.

At a larger level, I would whole heartedly agree with the author that there exists gaps which need to be filled up. For example, with the desktop and applications getting localized, there is an urgent need to have “Cookbook” like documentation in native languages primarily for desktop applications. There is a greater need to improve existing work on the following:

  • spell checkers
  • dictionaries
  • OCR

for the various Indic languages so as to enable a more wholesome usage of desktop applications. Sadly enough, a large bulk of the work around the above three bits are still “in captivity” at the various R&D initiatives across institutes in India with not much hope of being made available under an appropriate license allowing integration into FOSS applications.

The other part of the equation are folks who create content or, collate content ie. the writers and the publishers. To a large extent, there is a dearth of large volume of local language content on the Internet. And while it could have been said that the difficulty with Linux and Indian languages was a show stopper, it isn’t really so any more. “Better search” has been a buzzword that has been around for a while, but till the time a quantification of better does happen, it isn’t impossible to get along with what is available right now. The primary barriers to input methods, display/rendering and printing have been largely overcome and, the tools that allow content to be created in Indian languages are somewhat more encoding aware than before. With projects like Firefox taking an active interest in getting things going around Indic, I would hazard a guess that things would get better.

Which brings us to the Desktop Publishing folks. I have talked about them and the need to figure out their requirements a lot of times. Suffice to state, the DTP tools need to be able to handle Indic stuff far better than they do now. And, probably we do have the work cut out there.

Google Summer of Code 09 etc

This time around, the variety of proposals which have been selected for The Fedora Project & JBoss.org combination are awesomely nice. Congratulations to all those who did make it and, for those who could not – I’d say that this is a learning opportunity and, we would look forward to your continued participation and contributions to the project. There is plenty we can learn from each other and, these are the times to make use of the opportunities

Turns out that India has the second highest number of accepted proposals. I recall reading earlier that the number of proposals/applications from India was significantly high as well. However, I’d say that this is just a beginning and 101 isn’t really a number to be going to town about. Sure it is better than where we were 3 years ago. But, the world has also progressed since then and, we just cannot keep on benchmarking without adjusting for that change. There are certain trends which are nice though. Things like second time applicants, applicants turned mentors. These indicate the willingness to participate, to contribute, to collaborate and to coach – all important ingredients in the great rush to become a better FOSS citizen.

It is a privilege to be a mentor because it gives one a chance to read the proposals before hand, help in scrubbing and polishing them and, to take a dipstick test into the trends of FOSS adoption and awareness in the country. And, the T-Shirt is a nice incentive 😉 Among the few things that do come to mind include the need by all the projects to lay frameworks that can coach the young participants more effectively – work towards bringing them up to speed throughout the year and, show them how to think. The last point was hammered home in a number of proposals that seemed to have a distinct lack of originality. While we rejoice and blog triumphantly about the increase in India’s contribution, we need to keep in mind that this is just a start of the contribution process and, the virtuous cycle ends when the contributors of today become confident enough to take the role of mentors of tomorrow.

I am sure that the following have been written again and again, but I’d say it is never enough. For those who want to participate in GSoC and work towards a good application, it would be nice to keep in mind some of the following.

  • Participate early, participate continuously – a project can become confident of the student’s ability to deliver if there exist proof that the student has what it takes to take the idea from a concept stage to a deliverable. So, do not land up on a project during GSoC, give it some deep thought and engage in a structured fashion much earlier so that the developers know who you are and what you can do.
  • Think, don’t just read – if there is constant participation, anticipating a potential GSoC project becomes much easier. Thinking about it in the perspective of relevance and value to the project gives it the much needed shine. This also means that it is easy to write a proposal around an idea than just verbatim copy of the text of the idea into the proposal
  • Talk, don’t just write – it is important to indulge in public discussion of the ideas, the proposed paths and initiate discussion. GSoC proposals are not fire-n-forget type documents. They need constant attention
  • Listen, don’t just talk – a good proposal is one that discusses it with potential mentors and, can evolve through discussions and suggestions. Keeping eyes and ears open to good ideas also demonstrate a willingness on part of the candidate to become a better contributor and a good participant

Global <-> local

In all the years that I have been interacting with the various upstream FOSS projects, reasoning and convincing various groups to have a ‘local’ view of issues that complements the global strategy has been an uphill task. Sometimes it is just that interpersonal relations have been able to overcome the curve. At other times, it has just been a constant pegging away with facts, data points and a regular representation of issues that validate the need to approach and integrate local issues within the fold of the greater goals of the project. Either way, it makes me happy to see another project realize the need to align the views and inputs of the local participants and, figure out ways and means to respect their inputs and listen to their feedback.

The Regional Groups aspect of OpenOffice.org has gone a bit unnoticed and somewhat unloved (and, it has been my fault since I do not recall talking too much on this). This would be one area where it would be good to have a few folks stand up and take ownership as a steward.

In other news of the day, I have an @gnome.org alias for myself (thanks SysAdmins). Sadly, it has the usual pain of making a botched job of my actual name and, by now, I am so used to folks chopping up my first name every way they feel that I am more amused and less bewildered at the lack of appreciation of names.

Books and more

I have been spending a couple of days reading through Masterminds of Programming: Conversations with the Creators of Major Programming Languages . The books which are somewhat related would be Handbook of Programming Language and, Beautiful Code: Leading Programmers Explain How They Think (Theory in Practice) . And, among all of these books, I’d still prefer the HoPL (a review from Usenix is here). One of the reasons is that the book ie MoP, uses an interview structure to lay out the ‘conversation’. Even in a free-flowing interview, there is some form and framework which constricts the responses and, does not allow a sense of the ‘meta’ to be read. Having said that, there are interesting insights from the chapters on ML, Lua and Postscript. MoP is an interesting book to have, but for casual reading and, only if you are interested in poking about the idiosyncracies of programming languages with the aim of trying to figure how the blocks fit together. However, I’d still say that try to get a copy of the 4 volume set of HoPL. That is worth a space on the shelf.

I have long had the habit of averaging around 4 books a week (there have been highs of 6 books per week too). That is, reading through 4 books (mostly of different categories/genres and types) through the week. This means, that my bookshelf is a mess. And, it also means that booksellers of all kinds are very happy with me (I have a large store of dead-tree versions and, a nice long order sheet at the online stores). Around 6 months back, I figured that with rising prices of ‘books’ and, shrinking space on my shelves it is best to take a couple of steps:

  • bring down the average number of books read per week from 4 to 1
  • start utilizing my online bookshelves more, especially for the technical books I read
  • start exploring the possibility of using netbook/mobile devices with ebook readers to get reading material

So, looking back, I see that I am currently averaging around 2 books a week. Which I like. Because, it gives me ample scope to make extensive notes about the books and their topics and provide me with thought points. On the online bookshelves part there hasn’t been much success so far other than managing to clean out most of the pending books on the Safari subscription. It is on the last that I am still pondering and, probably it would be sometime before I manage to get hold of a nice mobile device coupled with a ebook reader that allows me to read books. I just don’t intend to invest in a ebook reader hardware/software combination right now. So, no I am not looking at Kindle like devices at all. I guess my selection of Bengali literature would have seen an upswing if the ‘traditional’ Bengali publishers allowed their books to be listed on online stores.

ps: I am open to reviewing books since they allow me to indulge in my favorite luxury while getting a chance to read new stuff. So, if you know someone who’d appreciate a good reviewer, I’d be interested to get in touch.

Some bytes about Fedora bits

During my trip to Kolkata last month, I’ve had a number of discussions around ‘making Fedora available to whosoever requests for it’. Ambitious as it may sound, we would have to end up doing it. Otherwise, there is simply no other way that we can lead the development of free and open source technology and content through a community of collaboration. Susmit’s blog entry has a pointer to the current problems, this is my take.

The current paths to obtaining Fedora media for folks in India are:

  1. Fedora FreeMedia Program
  2. Local Points of Contact
  3. Media produced for events

all of the above have a couple of shortcomings. So, let’s just itemize them to enable a much sweeter discussion. The underlying assumption is that we want to avoid falling into the massive media production trap – it does not return benefits. And, we would like to increase the participation at the *UG level.

  • The current issue with the FreeMedia Program is scalability. It is a fashionable term, but that’s what specifically what it is. The request queue gets so overloaded that the requests need to be clamped down within 3-5 days of being opened up. And, it would be fairly obvious as to why – last mile postal charges in India are exhorbitant and, asking folks to spend their own money to take this deluge of requests is going to take some inspiring feats of oratory and, a couple of miracles. However, that is not all. The other problems are – because the FreeMedia Program gates slam down fast, at every run there would be folks who – [i] did not make their requests in time [ii] are in the queue but we have no idea of knowing whether they did get the media. So, the second part is more important – accountability. How do we make the system a bit more accountable to ensure that the requests that did make it are getting met ? And, how do we track whether, because it is “free” (as in beer), duplicate requests are not originating ?
  • Local Points of Contact are a good way to off-set the huge and, somewhat human-absent nature of FreeMedia. This however is, “high touch”. And, currently has the same issues of accountability. That is, the system of tracking who-gives-whom-and-when/where is still not in place. And yet, at one level this is somewhat better. Because, the LPoC are not bound to give it away for gratis. They can charge (within bounds of reasonable practical reality) a certain sum to process the requests. In an awkward way, this could end up being very interesting for those who are diligent, disciplined and, want to make a little bit of money in the process. Money that can come in handy for things like broadband connections etc.
  • Media for events are done in bulk and, sent around to the event organizers so as to enable them to distribute it. We started this off from F10 and, would be doing this for F11. This is the life-blood of events and, is not going to go away, however, this does have a danger of becoming ‘yet another goodie’ and, so we need to figure what can be done to ensure that the massive doses of media being produced and sent to events does really end up going to people who need it and, the remaining media is passed around to Ambassadors or LPoCs who know how to make best use of the system.

A couple of things come to mind so as to ensure that while we do end up meeting every request, even after discounting the ‘freeloaders’ (those who request it just because it is free), we do end up making a significant impact.

  • Work out with various magazines if they want to ship Fedora media on a more regular basis. During the F10 lifecycle, we did have a significant number of media being shipped via magazines as part of their issues including spins and remixes
  • Insisting that the Ambassadors put a closer ear to the ground when it comes to local LUGs. A large number of requests initiate from the *UGs and, having Ambassadors actively looking at the lists it would be easier for us to meet the requests as well as get a first level of hand-holding in place
  • Making *UGs part of the LPoC cycle. In addition to individuals, providing the *UGs with the media so that they can distribute/sell/whatever does manage to take some pressure off the FreeMedia
  • Work on the long road to getting more mirrors. We are not breaking much new ground this year and, that is a cause for concern. The big name institutes do need to have mirrors in place. Private mirrors, if not public. A mirror that is updated regularly does provide the focus point for the *UG within the institute and, the immediate Fedora folks outside of it to ensure that the bits are at hand to re-distribute.
  • Keep on doing the “media for events” but work towards increasing the LPoC base.

So, the short summary is that we need to arrive at some protocol fast enough for us to work on:

  1. how to get media to those who request it
  2. how best to coach/guide/help those who need help to get started with Fedora
  3. how to bring down the number of ‘freeloaders’ in this cycle

and, in a small way, the second is ‘gated’ on the first.

Related to fonts for Bengali

I noticed that a few Bengali fonts are available for download from this URL (link to a .zip file). I was wondering if anyone could provide information about:

  • the licenses of the fonts
  • whether they can be redistributed commercially/non-commercially
  • an upstream developer/contact to ensure that feedback can be provided.

All things considered, it would be good to assess whether they can be packaged for distributions.

I asked the same question on the Bangla Computing Group list too.

Of new folks and old

For those who keep track of the welcome mails on fedora-ambassadors list or, are subscribed to the fedora-india list, a pattern would have been obvious by now. We have a large number of fresh faces who have signed up for Fedora Ambassadors in India. They are young, they are still at various colleges and, they are trying their best to get things going at their institutions.

This is somewhat of an interesting data point. The usual trend so far has been of folks who-have-been-around the FOSS scene for a while finally deciding to formally join up as they figured out that they had been in an Ambassador role anyway. Having newer folks, especially students, is a huge upside. It allows the project and the community to reach out to groups of people who now have a peer to look up to when it comes to things Fedora. So, such things could be installation, configuration or, contributing to the project or, even trying out projects within the Fedora umbrella besides the OS itself.

Given this benefit, it is only fitting that the existing ‘old dog’ Ambassadors and the rest of the community take time out to make better FOSS citizens out of the new joinees. This means doing ‘FOSS 101’ kind of hand-holding – in person, over IRC or, via e-mail/mailing lists. This is high touch, time consuming and, somewhat of a rote job. However, if done well and, it has to be done, it will end up creating a vibrant group of people who know the tools of the trade, understand how the FOSS game is played and end up learning the basics in a much more interactive manner than ever before. In fact, the ‘they will pick up stuff along the way like we did’  rationale of throwing the onus back would be negated.

The usual counter-argument is that this would be impossible given the number of Ambassadors and, the rate at which their tribe is increasing. I’d like to disbelieve that. No Fedora participant in India is alone. We are a fairly large group of people who can quickly band together to lend a helping hand and, so it is never a single person ending becoming a mentor for a large group. Secondly, and, this is a favorite line I (over)use – architecting a community is no different than building up a family. It takes time, it takes focus but most importantly it takes belief and trust that the basic elements of accountability and responsibility when applied would end up creating a competent, cohesive and compelling unit that others would like to emulate.

Additionally, if during the initial days, the new Ambassadors are encouraged to actively participate in any other part of the project, it should lead to greater involvement and appreciation of the Four Freedoms. This of course has the advantage of helping them build the social connects and network across projects/amongst individuals which is an invaluable part of being an Ambassador. It also builds up the required confidence in the Ambassador to go out and evangelize about contributing back to various projects and upstream. Because, if one has already drunk the Kool-Aid, talking about it is dead simple. So, for example, since most of the new folks end up organizing and leading installation fests and the like, a somewhat easier point of entry for them is QA Days. And, this is just one idea. There are many such obvious ideas being discussed and, in coming days would be slowly put to the ground.

Irrespective of when you joined the project and the community in India, keep a sharp eye on the implementation details of these plans. They are going to get things going !

Can OpenOffice.org Writer ‘flip’ my page ?

It has been a while since the angel talked with me, however, I haven’t ended up with a clean solution for getting OpenOffice.org Writer to flip the page when printing out. Currently, one has to do the following steps:

  1. Export to PDF the appropriate pages
  2. Use pdfjam tools (more specifically, pdfnup) to collate the 2 pages into a single page
  3. Use a tool like GIMP to make an image of that PDF
  4. Flip the image

Isn’t it possible to use the print dialog from the software to handle the above as a seamless step ?