Sunday, 30 August 2009

The Future of Vinux!

The Vinux project will be one year old on the 28th November 2009, a year to the day when I first released Vibuntu 1.0 which was based on Ubuntu 8.10! I have just released Vinux 2.0 which is based on Debian Lenny and this is the most stable and responsive version of Vinux to date. So where does Vinux go from here? I suppose the next logical step would be to start building it from Debian Squeeze which would provide access to newer versions of the included software packages. However, there are several important issues I feel we need to discuss as a community.

1. My Role in the Development of Vinux.

I have spent nearly all of my spare time over the last year working on Vinux and while I have learnt a great deal and found it very rewarding I don't think I can continue developing Vinux on my own. There are three reasons for this; Firstly if I continue to try and develop Vinux, hold down a full-time teaching job and have a meaningful family life I am going to burn out! I am mentally and physically exhausted from spending so much time on Vinux. The only time I can work on Vinux is in the evenings, weekends and holidays and thus I get very little rest and recuperation and have recently developed neck and shoulder problems because of the amount of time I have been spending at my computer. The second reason is that I also feel that I have reached the limits of my knowledge and skills with Vinux 2.0! In other words I don't feel I can improve significantly on what I have already achieved on my own. Finally, there are two or three Linux distributions that are in effect 'one man shows' like Vinux. The problem with this is that when the main developer is ill or takes a sabbatical from the development things can go down the pan very quickly as happened in the case of Puppy Linux and PCLinuxOS recently. Don't get me wrong, I still believe in the need for a specialist version of Linux for the visually impaired, and I still want to be involved in its development and production. It is just that I believe that in order for Vinux to be sustainable and progressive we need a small team of core developers who can share some of the work load.

2. Possible Development Models.

There are several different ways in which Vinux can be developed: The simplest model is to continue with one lead developer who actually puts the final distribution together after other members of the development team have submitted their individual contributions. This could be me or another more able member of the development team. We could adopt a rotation system in which different developers take turns to release the next version of Vinux, with contributions from other developers, or we could adopt the Puppy Linux development model, in which a variety of different releases are made by different developers. The most complicated option is for everyone to work on the same version using an online repository using Git or Subversion so each developer could submit their own contributions to a community version, but this option is way beyond my own knowledge and skills to set up and manage. So there are many ways the development of Vinux could progress and I would like to know what other people think about these options.

3. Different Development Roles.

No matter which model we adopt there are a wide variety of different roles that people can take on no matter what level their skills and knowledge are. These include (in no particular order):

Bash Scripting - Writing scripts which add functionality and/or automate the build process e.g. if someone could automate the whole build process this would significantly reduce the amount of work involved in building Vinux.

Writing Accessible GUI Applications - If you are a competent programmer you may be able to create new applications or GUI front ends for existing text-based applications. This may involve using Zenity to create simple dialogue boxes or writing fully blown GTK applications.

Testing and Feedback - If you don't have any programming skills you can still help by testing out Vinux in different scenarios on different machines and then giving detailed feedback to the core developers.

Writing How-To's and Guides - Creating text and/or audio based guides on how use and install Vinux, perform specific tasks or use particular applications.

Creating the Actual Distribution - This is currently the most demanding task which involves modifying an installed system and then remastering it to a Live CD. This is currently done with Remastersys but there are other ways to do this.

Translating Vinux - Creating a version of Vinux in your own native language using the step by step instructions provided and then making it available to other people in your own country.

Create Graphics - Create new icons, logos, wallpaper and graphical themes for Vinux which would give us an original look and feel and our own visual identity.

Create Sounds - Record music, sound icons or other audio materials that can assist accessibility and/or give us our own auditory identity.

Managing the Website - Updating and managing the Vinux website where users can download the iso images of the different versions of Vinux and find information. Osvaldo la Rosa is currently in this role and I hope he is willing to continue doing this.

Running a Forum - We already have a mailing list, but not a full blown forum. It would be great if someone was able and willing to set up and manage a Vinux forum.

Mailing List - We already have an active mailing list which I am currently managing, but it wouldn't hurt to have a few more people administrating and moderating the list so that things don't get out of hand when I am unavailable.

Running a Wiki - I think it would be a good idea to have a Vinux wiki which members of the community could modify and contribute to independently. e.g. people could post feedback, tips and how-to's etc. This would obviously need to be moderated and managed by someone.

Producing a Virtual Edition - The virtual edition has proven very popular with users who are uncomfortable partitioning their hard drives and would prefer to use Vinux as a guest operating system within Windows. This role is currently filled by Mobeen Iqbal and I hope he will continue to do so.

Hosting Space - We are running short of hosting space and this shortage has been made worse by the fact that I no longer gave access to the College file server where I stored old versions of Vinux. Sebastien Naudet has already generously provided us with another 8GB of hosting space but extra storage space is always very welcome.

Promoting, Demonstrating and Teaching Vinux - If you don't have the time and/or skills to help in any other way you can tell other VI users about Vinux, demonstrate it to colleagues and friends and teach people how to use it in person or on the forums and/or mailing lists etc.

4. What next? I would like to hear peoples views on the issues I have raised in this message. If you are willing and able to contribute to the Vinux project in any way at all then please let us know. I don't want anyone to commit to anything they aren't able or willing to do, but I would ideally want to be able to put peoples names to specific roles to formalise the development team. There is no reason why one person cannot take on more than one role or more than one person can perform the same role as far as I am concerned. This will of course require someone to coordinate or lead the whole project, which I am of course willing to do, but I wouldn't object if someone with more time and ability wanted to take on the role of lead developer. I await your responses with interest!