open source

After a lethargic period, I have started some more activities which kind of elevated me to another excited level:-

- I have registered in couple of open source projects. Work hasn’t started on anything yet, but I am excited to be in between those terms which were so vague to me so far. I have been reading so much about open source development for last couple of years, but never mustered enough courage to wet my feet. Initially I thought it was only for linux hacks which is a whole different world to me, I had started looking towards that path (reached only the stage of buying the brochures, but didn’t even plan the trip). Now I have enrolled in couple of projects which were looking for Java developers. I am sure it will be a good experience, but hope I can find enough time to work, at the moment I don’t think energy should be a problem.

- Installed Eclipse (another one of those candies I wanted to have for some time) and browsed around. I think having a good IDE goes a long way in terms of productivity. Coding using a textpad will be advisable to learn the nuts and bolts initially, but after a stage it will just slow you down. So learn programming with textpad (otherwise IDE will be too confusing, will hide too many things that we may not understand the basics), but move on to a good IDE before long. I think in a project environment it is extremely important to decide on a good IDE to improve the productivity and enforce standards – I came up with only two uses as of now, but there should be more. Also minor hindrances like start/stop servers, upload/download sources from CVS – if these can be integrated well into IDE then it helps developers to focus on the core task. I haven’t done too much with Eclipse yet, but the plugin development is an exciting functionality.

- Installed Java 1.5, CVS and Tomcat plugin for Eclipse.

- I have got a first hand look at open source development, the way team is communicating to develop a design and got some emails which gave me a surrealistic view of another planet in terms of software development. Putting down the thoughts about design at a high level, getting team’s input – the way things evolve rather than planning the activities using a Microsoft Project, assigning tasks with a strict deadline, one person working on a task, another reviewing it and each knowing some aspects of project. I am not outright rejecting the so called “Cathedral” way of development yet because I think both the scenarios differ. Open Source is a community of developers working mainly out of love of work and as far as I see, there is no lack of motivation and no resistance because it is voluntary. But when organizations need a software developed for its purpose, it is given to a set of developers who do not have a control on requirements, but a hard deadline in front of them, there has to be a way to manage the tasks (limit the chaos) and be predictable in delivering good quality – so the processes involved will be different. But I think it will be advantageous to conventional development to adopt the best practices of open source development.

- One impression I get is, doing conventional development, I was falling behind in terms of better and latest tools for development – For eg: I haven’t touched ant, junit etc. In conventional development or as I read somewhere “mass market development”, tools to develop software is determined by customer or project management and standardized for the project. They cannot have developers wasting precious time on tools. Doing open source sort of development, developers are looking for better tools, improving the tools if something doesn’t work and maybe more productive as a result.

- I realize it is a long way before even I write one line of code, hope I stay that long since that is the next milestone or the next lifeline to continue this interest.


Popular posts from this blog

How to take up maintenance of an existing software application?


weekend exploits