Showing posts with label society. Show all posts
Showing posts with label society. Show all posts

Wednesday, May 12, 2010

Bootstrapping

Of late, I have been thinking about this concept a lot. This is an intriguing concept most popularly discussed in computer science, but I am talking about more commonplace matters here.

This concept was first introduced to describe a problem faced by early computer engineers in starting or booting a computer. If software is already loaded, then the computer is ready for any task, including loading any other software needed. However when you power up a computer, its memory is blank. There is no software there to accept your instruction. To load software, you need software already loaded to accept and perform your instruction: that is to load software. So this situation is akin to lifting yourself up by pulling your own bootstrap.

Something like.. If you were already up there, then you could lift yourself up by pulling the bootstraps. The early engineers typed in the instructions to the computer, part of software, which then loaded other parts of software which then loaded whatever program or data that is needed and now you have a computer fully bootstrapped and ready. Later technologies like BIOS were utilized to achieve the same result. But the concept remain the same.

Back to commonplace matters..so I was teaching my daughter to ride a bicycle . The problem there is that, to ride the bicycle, you need balance and speed. Without speed, there is no balance. And without balance you have no speed either; since you will fall down before you can speed. So both require the other. If you have one, then easy to attain the other.

I am helping my daughter learn by supporting her and walking , running with her.. not a fun or easy job for a tall guy. So I sought my own inner suggestions and auto suggestions. How could I do this better?

It was not hard to see that this is a bootstrapping problem. I remembered my own difficulties in learning to ride the bicycle when I was kid. A hapless cousin ran around behind me helping with my riding practice for days! However another of my cousins is said to have sat on the bicycle and just took off. So some people have that in themselves. They can bootstrap, just pull themselves up as if they are already up there.

So they just push hard on the pedal to get some speed, that give them some balance, very shaky wobbly start, but still manage going forward and that little balance give them some speed and they .. They just bootstrap!. Riding their bicycle.

And on to my daughter.. She has some experience riding a bicycle with extra support wheels, the sort that act as a stopper if the bicycle tilts on either side. Having set that bicycle aside-designed for younger children- , now she tries to ride a regular bicycle and is failing to bootstrap. So how do I resolve this problem quickly?

I thought of one simplest of simple solutions. I take her to a slope on the driveway. Supports her by holding the seat, then I let her gain the speed provided by the slope that would give her some.. You get the idea.. some balance. That would give her speed. The next thing I know, I am watching her , in amazement , riding away.

A lot of things in life are like this. They need bootstrapping. Learning to read. To learn reading you should know words(spelling/familiarity with word/pronunciation) . To know the words, you should know how to read. If you can somehow pull you up on one, that will aid the other which in turn will aid the first. Bootstrapping.

For a good democracy to work, for a good capitalistic society to work, you need bootstrapping. You need informed and responsible citizenry for the democratic society to function well so they will make good decisions. To make them informed and responsible , you need democracy that will give them the responsibility and information and the power to choose. An authoritarian government will not give them any of this. Some societies just bootstrap, others have experience a wobbly start that does not function so well. They need to learn to bootstrap.

Capitalism, same thing. You need informed consumers, competent employees, professional managers, knowledgeable market participants to make it work. But for all this to develop, you need capitalism. So you need to..yea, bootstrap.

Monday, April 20, 2009

Open Source. Will it change the world ?

One of the terms that came into being with the open source software movement was copyleft. Free to modify (open source) as opposed to copyrighted(so restricted or protected) software, hence copyleft.This movement derived its motivation from anti Microsoft, the big corporate, sentiments but went beyond the initial rather narrow ambitions and eventually matured to be a successful model in its own right. Today this movement can be called anything from a serious model to a wildly successful one.

There are a few variations to this model of software development but essentially it is free software made available for download over internet along with the source code. The source code can be modified, enhanced and redistributed by any one. Free in Free Open Source could just mean free to modify the source code and does not have to be free of charge. However with free source code available to compile and build , the open source software can be had for free.

Be it an operating system like Linux or a web server like Apache, this is the case. The developers who create the software may make money in other ways such as support, donations, books etc or they may not. If someone download an open source web server or database and use it, he would not be paying any one anything. So nobody is getting paid in this transaction. When a technology group in a major corporation downloads an open source software, say an Application Server or wiki software, and use it for free, it may raise some questions in your mind.

Why would people donate their time to create software for free distribution? If an entrepreneurial organization create open source software and make their money by support and consultancy that is understandable. It is just a different business model. However if individual software programmers donate or volunteer their time but eventually do not make any money, that is not a win-win situation. What I mean is that the many individual contributors are not able to monetize their time and effort for one reason or other. In such a case, well, is this a good deal? Only to the users who get the software for free!

Now I am not griping on the individual programmers. After all, they are ‘free’ to volunteer or do whatever they deem fit with their time. Plus, they might be gaining experience, networking opportunities and other emotional benefits such as recognition. This is not to say that these benefits are not attainable when they are fully paid for the work they do when they work for a business firm. They are attainable that way. Therefore is this, open sourcing, not essentially a low value generating proposition for the industry in general and the software professionals in particular? The income of individual professionals goes down and the long term viability of software corporations itself weakens as a result.

People on the other side of this debate would argue that this is a free market phenomenon and benefits the consumer. That is true. They would further argue that this movement would help innovation since making source code available will make it possible for someone else to create a derivative or enhance the original. Thereby promoting and accelerating innovation. So there are social benefits in this movement. Lower cost of software would increase its adoption and will benefit society. This is not just a hypothesis, all these benefits are already observed over the last decade.

Leaving those social concerns aside, if you look at this as a business model, it can be observed that, software is moving from a license model towards a service model. The way you make money in software is, therefore, by providing support or consultancy and not by way of profit margins like a corporation that sells licensed software would do. In stead of a few software majors , you now have thousands of smaller firms. Small businesses or just individual contributors earning a living from the software that they help to create.

Here is my question. As a system capitalism favors growth, innovation and wealth creation. Capitalists can tolerate the concentration of wealth but not a government that take the freedom of the people. The freedom to do business, create products and innovate and get benefited from it. The socialist types favor equitable wealth distribution even if that comes at the cost of growth, poverty and even the tyranny of a big government that control the economic life of its people. Because they do not like the concentration of wealth and the big corporations that result from it.

So will the open source movement achieve a system that achieves both? In software industry and perhaps in many other industries that could use open source methodologies?

Will the term copyleft eventually achieve its true ambition?