Italian Open Source developers: Michele Sciabarrà

Michele Sciabarrà is an Italian Technical Writer and Consultant, he wrote two books and many articles and tutorials. He specialized in Java, Linux and Symbian Technology and he is running his own firm. I asked Michele to answer few questions because sharing his story he might help other programmers might develop their attitude toward open source.

How did you get involved with Free Software?

I really started loving floss very early. My first experience with the concept was at the university, in 1991 or 1992 I believe. At the time I was a Computer Science student, very frustrated with the lack of hackable machines.
There was an Unix machine (an Ultrix Vax to be precise) I was using for an AI exam where I found a lot of GNU software installed on.
I poked around, used the software, read the licenses, and understood the philosophy. In the academic environment it really made sense. Later when I enjoyed the business side of the thing, the collaboration was not the first step, but the last one, when everything else failed.
At the time I had at home a PC IBM (8086) but I did know that there was no way (at the time) to run the GNU software. But eventually I got Minix, installed it, run it, read all the Tanenbaum book (the same book that read Linus Torvalds), including the source code, and dreamed to have at home all that godsend running in the Ultrix machine.
That dream became true a few years later, when finally I got the money to buy a 486 PC where I installed an ancient (now extinct) Linux distro (SLS).
Then I never stopped using free software. After graduating I made almost all the jobs using Linux.

What does it mean to you being an Italian Open Source Entrepreneur?

I would to make clear that I never intended to became an Open Source entrepreneur, my focus was the net as the new medium, with the endless opportunity and problems that poses.
But in the end, I have to say that the business activity I did was the same that many others “open source companies” does: installing and customizing open source systems.
When you offer to your clients a super-powered website, that they call, depending on their mood, CMS, portal, e-commerce, but in the end is always a some form of a web application, you are involved in providing them all the pieces, not only the software but also the machine, the operating system, the database and so on.

Due to my background, I was never able to provide them a “windows-based” solutions and feeling myself comfortable (and also I never liked windows as a server solution, although I appreciate it as a client platform). I always provided open source and free software based systems. But I did it for technical, not philosophical reasons. So I became familiar with all the licensing and legal questions related. But what I always liked, was the benefit of being able to change the software if it was needed.

Two real-world examples: in a project I developed, I had to make a special processing of a file uploaded by ftp. If I was not able to change the code of an open source ftp server, I had to rewrite the FTP server software. In another case, I had to generate a DBF files that was to be compatible with a particular buggy software. The format required was not standard, and I fixed things patching the open source library used to generate those DBFs. These are real advantages, you can only dream of them if you are using proprietary software.

Monitoring the activities of many Italian “open source” companies, I never found they where really open source. Providing services based on open source software is not different from providing services around proprietary software. The main advantage is that clients buy your services because you do not charge licenses. The drawback is that the client does not get this, you are only “the cheaper one”, and being the cheaper one is NOT advantage that you can sustain in the long run.
In fact, a lot of similar companies popped up recently, and the price war made the service model of open source absolutely unsuitable. Nowadays the open source companies in Italy are “the php kids”, that provide at very low fee “absurd” web sites full of functions that really no one needs but the clients wants, just because they think it is cool (and cheap) to have; so they want everything in their site, in order to look better than their competitors. I saw recently a lot of request for web sites with lots of functionalities (forum, cms, shop and many other things) that are sold for rate so low that you can only install the software, and you cannot even afford to have the time to check if everything works, not to mention any sort of customization.

Also the sad part of many “open source” companies is that, when they develop something (often something very simple), they tend to DO NOT release it to the public, even when they should do it to comply to the license of the original work they modified. Nevertheless I know some companies that have a real open source model and they understand what this mean. But they usually do not work for Italian customers. The average italian customer is not even able to understand that the modification you made for it HAVE to be redistribuited, so often you simply do not say nothing.

I am not used to deliver web applications for SMBs, and I am willing to report others’ experiences. About respecting open source license I believe that we should educate customers and users, as volunteer I often reply to questions raised by users and firms about licensing issues. It is a dirty job, but somebody has got to do it! 😉
Tell us something about managing Italian Open Source Communities

I believed that to provide an open source service model you have to provide something uncommon and have a deep knowledge of a product you also developed or co-developed. So, I planned to work on such a product.
But since I really believe that the open source MUST be collaborative (is the main strenght of the model), instead of developing my product, I decided to join the development of an existing product.

After writing a book about open source software, I made a sort of market research to find which product could be the killer application, or at least a very useful product in Italy. I definitely thought it was a simple accounting software, complying with the Italian law and practice. In Italy there are A LOT of SME, and software for these SME is a big business (in fact, is THE main software business in Italy, set aside selling Windows and Microsoft Office software, and many specialistic niches like graphics or cad, and of course games).

I defined that what was needed a small GUI package, and I thought the best language to use at the time should be Python, using the wxPython gui library and an embedded sqlite database. After some time I found a package, named Phasis, very similar to what I planned, and I offered to help the development. Except that the software used the database Phoenix, it was really similar to what I envisioned. At the beginning, it seemed that the things were working.

The author, Massimo Gerardi, was very happy of my offering, and listened to my suggestions. Phasis had some problems in deployment, since it was difficult to install. It used a separated database server software, and was split in many packages. After three months of works, we got an unique package, and the code was easily ported to an embedded sqllite database. The choice of sqlite was gladly accepted by Massimo, and had became since the default Phasis database. Then we added an installer for windows (since I know that the vast majority of potential users use windows). The application is really multiplatform, but the choice to make it easily installable for windows was an obvious pragmatic step, in order to make the software available to as many people as possible. Then I proposed the author to publish the code under the GPL (initially was LGPL by “accident”) and start a community, wishing software development would became collaborative at large. The author accepted, then we published the software and started a mailing list for the community.

But here the plan was wrong. Except for a few persons, there was no collaboration at all. Almost everyone tat popped in the mailing list asked for new features, for free, that satisfy THEIR needs, but no more that one or two persons attempted to do that modifications by himself and sent patches. Some developers offered to help, but was almost always “hard-core geeks”, interested ONLY in the technical side of the project, almost forgetting (or not interested in) what the software was intended to. The discussion was always on the technical side, and eventually ALL the technical choices were considered wrong by someone. The software should not be written in python, should not be gui, should not use sqlite, should not be address to the SME and so on. But the worse had yet to come.

At the end we published the code in a public svn repository to simplify access to the code and patch generation. Then someone looked at the code and started a flame that almost bring us to the court. A self-proclaimed python expert (this may be actually true, but I am not interested in this fact, I am interested in his absolute lack of humility e outermost arrogance) made a large scale attack saying that the code was so badly written that should be retired. The flame was very large and involved a lot of people on the usenet. I am sure that the time lost in that flame could be spent in refactoring the code and easily address all the critics, but the people involved where most interested in showing they are more competent, that actually write an usable and READABLE code. The flame degenerated in personal and gratuitous attack to the software author. And after a while, I even got some personal attack, because I tried a defense, maybe excessive, calling for a legal action.

In the end all this mess demotivated Phasis author and myself. I lost the interest in the project, and the author lost interest in the community, continuing to develop and release the software to address his and customers’ needs.

I learned a lot of lessons from this experience. I still believe that the open source is a viable way of doing business, but the maturity level and comprehension of the open source model in Italy is still limited to the concept of “software for free” and nothing else. If some one is willing to to pay, they go and shop for proprietary software, so they get an elegant package and maybe a manual that they will never read. And this miss a lot of the real advantages the open source software has.

However I am still planning an open source product, but I am working hard to be sure that it was perfect from a technical point of view. I have to use Java since it is my core competency, and the software must address a need not yet addressed yet by existing solutions. I already have a product that I could release but since it was developed some years ago, I do not want to be killed by critics because the software does not fulfill the current best practices, so I am in the process of rewriting it . And also I want to be sure the software is really easily to modify, and well documented. I believe that software cannot be accepted by community if it is not really open source in spirit and advantages, set aside the license.

I Know Michele and I am sure he will eventually turn his first experience into something constructive in the very next future, running a community has never been easy, though.
Thank you Michele, and please keep us updated about your next OS projects!

Technorati Tags: open source, sciabarrà, sqlite, whPhyton, Phasis