6 Years On Open Source

From ADempiere
Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.

Introduction

In March 2002, I left my well paid job in a "tier 1" global telecoms company to make my fortune in open source ERP. I felt well equipped having a background in systems and accounting and I felt that surely the agility of open source would be inextricably easier than dealing with internal politics of a large organisation. All that was necessary, was to find the road paved with gold and merrily stroll along it for years to come, whistling a little ditty as I swaggered off in to the sunset.

In fact, at that point I had already found Compiere and realised there was a lot of potential in it if only the project leader could contextualise the functionality. Before long, there would be others like me, so best I take the red pill (as red1 would say) and jump from my nice and orderly, dry, corporate run boat to the shiny, new and ever so promising open source boat that I noticed sailing a perpendicular course way off in the distance.

Here I am in 2008, noticing other people still awakening with similar thoughts and ideas ready to embark on that same journey. I applaud them, and all who have made the jump already - it is not a road for the feint of heart. There have been casualties - I have seen people come and go. I have seen those who have stayed. So what have I learnt in these years? What would I do differently? What has worked well? I will try to answer some of these questions.....

You are not alone

It took some time, but I found other people in the community who had the same interests and desires to me. People like Carlos, Red1, Victor, Colin and Trifon. People who had taken the red pill some time ago and were so committed, in some ways could not go back. At first I looked for people who shared the big picture. Now as this project grows, I am able to seek out people who have more specific interests in accounting and more generally in enhancing functionalities.

With so with so many great minds focussed around the problem of building the software, the community, the project - I feel strangely comfortable in the hands of strangers. These people who owe me nothing, and whom I owe nothing, work on beyond what any employee has ever done because they believe in what they are doing - a currency that is poorly defined in your standard employment contract.

All this is much easier today because of the Adempiere project. During the 'shadow years', we existed as an objectionable supporters of the other project, not willing to let the flame go out and allow a half hearted open source project to shy away from the open source precipice.

It is the responsibility of all of us to grow the community - it gives strength to the project and to the people who dedicate their skills, their careers, risk the wellbeing of themselves, their families and the future of their children on making the project a success. That's a lot to trust to the hands of strangers - but I do like to dramatise ;)

Open source is a safe place to fail.

Harvard Business Review ran an article saying that one of open sources contributions was that it created a safe environment in which to fail. It evidenced the large number of non-functional projects on sourceforge as an example. It has also been said that it is a safe place to fail quickly.

Edward DeBono, acknowledged as the person that invented lateral thinking (or at least invented the term), wrote a book called "I am right, you are wrong". I leave it in a prominent point on my bookshelf and when people come to my home I am sure they see it and think - "that figures". However, if you have read the book you will know it explores the corporate culture of right & wrong - two boxes that given anything in corporate life, you can happily toss in to one or the other and then move onwards. There are no shades of grey, no element of time (what is right 100 years ago may be wrong now), and in general this does not foster an environment where free thought is likely to naturally develop.

The community provides a place where you can think out loud without finger pointing and your manager tallying up black marks. Anything you say and do won't end up on your staff appraisal (unless you work for us). In fact, it should be encouraged as long as it is "new thinking" - i.e. you searched the forums and the wiki first. After all, we as a community should consider ourselves a knowledge based organisation.

So I look to the others, I watch what they do, I throw in my ideas and I watch - as a detached observer - to see what will incubate and what will die.

I think that it is safe to fail here as long as you succeed some of the time (i.e. net contributor) and that you do so in a way that does not stop the momentum of others in the project.

It isn't wrong to ask for money

I hate doing it. In my perfect world, there would be a detachment from the evils of living such as shopping, paying the mortgage, paying bills (which would be a task of businesses / organisations only) and I would divide my time between writing some code / documentation, working as part of implementation teams hopefully solving the really difficult problems (the ones I rarely get time to look at these days), spending time with the family and doing some sailing. For the record and in case the family ever look in to what I do on the computer all day, that's NOT the order I want to do these things in - stop being so sensitive.......

However, such is the world and we have a great project that provides a massive amount for free. There are also many things that do not exist and would be great to have. But we don't have stuff that you are forced to buy - we are not holding anything back from the community other than placing some limits around the amount of time we donate for free.

Others people like me, will 'donate' between 20 - 50 hours of work time in a regular week. This varies over time and sometimes the contribution is less visible. Visibly we write in forums, commit code, lodge, test and fix bugs, write documentation, help newbies and veterans alike on skype or irc. Not so visibly, we give presentations, attend trade shows, write papers, try out new code and ideas, integrate products and generally innovate.

We do those things to further our knowledge in the product, to learn as much as we can so we are prepared to solve new problems for which everyone will benefit. It is hard won knowledge too - it comes with the historical context build up over the years.

There are those that would have us stop doing all of these things for as long as it takes, to do a brain download and then to publish the same. Similar perhaps in the way a manager asks an employee to write down everything they do when they are leaving their job. In this way the manager fools him/herself that their lack of understanding of the employees job will be counterbalanced by referring to a one page synopsis of the exiting employees notes.

It is our challenge, and one that weighs heavily on one the longer they have been around, to share the knowledge. However, we must continue to invest in intellectual capital and find ways that we can 'cheaply' disseminate it. (I was reminded yesterday that one of the elements of intellectual includes "sharing" and hence the concept of intellectual property was severely flawed) Projects such Kai's user community is a great way of doing this but needs to be augmented with global face-to-face meetings, working groups, engagement of other communities, collaboration with other eco-system open source partners.

In the beginning there was no information other than code. Today, there is a lot of information but no-one denies there could be a lot more. There is no easy route, no Fodders notes, no special pill you can take to understand adempiere other than that gained through experience. You can choose at what rate you gain experience, and the controls to this machine include:

  • the extent you work with others who are experienced (they may want to be paid)
  • the extent of your own experience in business, in ERP, in technology
  • the amount of time you spend working with adempiere yourself
  • your capability to absorb the information

Think of it as a never ending journey. The only shortcut you can take is to engage a faster mode of transport, but by doing so it will cost you more and you will miss some of the beautiful things along the way.

All that stinks is not shit, sometimes a rose stinks too

Whenever I look at any piece of code (including my own), I think it stinks. I take a breath, pause, consider re-writing it, then the sub-system, and before I know it my mind has raced off to consider how hopeless it is to do all of this work. I will never be able to hold my head up and show off Adempiere and not be afraid they will open the cover and criticise it. Then I think back to #1, and realise that I am not alone. Great - I can blame that code on Carlos! It will only be a matter of time though before they find my stuff ....... Then, I gently remove my "corporate finger pointing hat" and think about the journey, and how I can make a small improvement, and give that back so someone else can take it to the next step.

It is a concept that Linus Torvalds has drawn upon (perhaps invented) - that of the lazy programmer. Why should I do something someone else could do, and especially because they could probably do it better than me. So I worry less about they many things that need to be done, and I take direction from what my customers ask as they are the things that stop them from using the system more.

Each day, customers use more and more of the system, and this flows back in to bug fixes, new functionality, questioning old assumptions and finding new solutions, new paths and slowly but surely the project rolls on. I noticed others doing the same and slowly the wheels gain momentum and the project evolves.

So Red1, my strapline suggestion is "Adempiere: the stinking rose" - do you think it will catch on? Oh well - back to marketing classes....

Open source creates wealth - just not for you

It is an idea (Stallman in GNU Manifesto) that by releasing code as open source the wealth of society is increased as you are not denying the rights of the people to re-use that code / knowledge in new and possibly unintended ways.

I think with a little lateral thinking (thanks again DeBono), this is not such a bitter pill to swallow. However, the question of who is better off is more interesting to me, Me and ME. That's simply because I want to be rich, don't we all? It's a measure in society of how smart, successful, powerful and virile we are ..... well let's leave the last one out next time. It sets you apart at your high school re-union and proves to the school bully and the prefect alike that you, the spotty little loner kid actually made good. Now we are older and well healed we are over that anyway.

So if you work in open source - you will end up rich .... right ? I'm not sure about the answer to that - I haven't checked my bank balance today.

We are told that money follows wealth, not the other way around. Therefore, in order for open source to create money you first need to create wealth. It is no doubt part of the proprietary open source business models to create wealth out of you and me and then use that wealth to earn money. However, that doesn't happen here in adempiereland. There is no-one to exploit you or the group's knowledge. I think in time the community will be ready to accept a way of being addressed as a community in order to tap the wealth of knowledge - but for the time being I'm not too fussed. Knowledge cannot (yet) be captured completely within a computer system, on paper or in a wiki, so we seek it out through people. In fact, Doc Searl's The Cluetrain Manifesto recognises that the personal relationships created by the new marketplace (internet) will create new business models and new ways of working as the internet personalises contact between people, rather than the de-personalised feeling you get by interacting online with you bank.

So generate as much wealth in your own knowledge and you should be on the route to financial survival. I'm still unsure whether great riches exist in a community where the keys of exploitation (ownership and control) have been melted and reduced to slag. For now, creating intellectual wealth is good enough for me.

Ready for the plunge?

Only you can answer this one for yourself. It is a risk. It is hard work.

You will find in Adempiere a community of great people, the opportunity to contribute, to build something real, that helps people, that can be applied in healthcare, retail, charities, finance institutions, government and many other uses.

You may not invent the next mega vaccine to save the third world or in a master stroke alleviate child poverty, but systems like Adempiere have a role to play in these very things and It sure beats hanging about down the pub complaining how nothing ever changes.

For me it has been a fulfilling journey, so far, and whilst I am yet to bask in the riches I naively sensed around the first bend, I would encourage others of sound mind and moral fibre to try it on for size and see if the cap fits....


Mike Judd, UK