AROS: Guess i did not got this Open Source thing yet?

[This article translated in a latter time]
Originally published in July 17,2008

[EDIT: Aobut KDE 4 and on how final users are acting and expecting as consumers is also mentioned here.]

The latter interventions on it.comp.os.amiga here (google translated), concerning the coming soon Amiga os 4.1 and the recent discussions shown on linuxhaters blog here and on here makes me consider on how probably i misunderstood badly the motivations behind ther open source movement: I always thought at social motivations as the need for computing tools for who cannot afford to get a closed source operating system or applications, i thought about humanitary and non-profit organizations support, learning and start-up tools for third world and underdeveloped countries, beside the intentions to disconnect the IT from the traditional software and OS industry, the knowledge share and the opening of algorythms and libraries available to everybody for any purpose, without the need to quit the project or being forced in pay royalties for quite banal algorythms.

Maybe am still too naive and idealist: it is sure that, once somebody reach an age close to 40, having a reality check is quite painful ot handle than when young.

And i can also understand the hatred of linux hater and the strong frustration of the newcoming linux and AROS developers, to mention a project which am emotionally tied at.

Things as reading here on how

And also read in most of the interventions of Linux Hater on how some of the base concepts of the open source philosophy are backfiring on the FOSS purpose itself: the well known package manager mess, GNOME,KDE,XFCE and other desktop environments, the problems with sound managers, the worn out excuse to read the sources instead of producing adequate documentation, on how the open source movement is under developed due to internal clashes, the programmers ego trip mentioned already here and many other.

In the aforementioned thread Alessandro Pellizzari says that, in order to have a fully working AROS a “spiritual leadership that give directions” is required; i agree with him, just am afraid that who do not agree will fork and subtract vital energies to an already slow project, which is not good.

Taking for a moment AROS apart, i already mentioned how my point of view is that, when a project reach a certain “critical mass” of users, the developers should have at least the common sense to feel morally entitled to listoen to their users’ reasons or, anyway, to keep them in mind while bringing on the development.

Reading about the mess happened with KDE 4, looks really like this did not happen: some distros put KDE4 as standard feature desipite the declared (not enough it seems) provvisionality of the release and user got scorned and frustrated from it due to its unfinished features.

Is quite comic read on here on how the fact that users are behaving as consumers is considered wrong frmon FOSS supporters. But, fact is that an user IS a consumer: it use (read: consume) a tool (read product), even if is not sold and CAN and SHOULD give a feedback on its experience if he point to be an active member of the open source community.

This double standard make me feel about italian leftist wing (socialist/communist inspired); at a first look there are lots of parallelisms between FOSS and socialist/communist points of view; there are parallelisms even between some FOSS behaviours (as free software purisms and evangelization) and some religious zealotries, swapping closed source with sin, devil with Microsoft, etc: the factitself on how an enemy is needed to bring on the cause.

I usually keep myself out of politics, being a quite pragmatic person (ok a bit idealist) grown up in a house with conservative mother and a communist-oriented father; none of them pushed me toward one or the other side: i personally evaluated good and bad of the reciprocal points of view and, despite some little basic influence, i almost never choose either one or the other side but take what i like from both sides or even from third parties opinions that i share.

I follow the same philosophy for the open source: the approach actually followed by AROS and its APL looks to me more compatible with my way of thinking, so as the AROS and Amiga oses interface itself: they can be handled with or without GUI much more easily than windows or linux.

But am going off topic here.

I also cited here the Product Beautiful article that talks about product management: an open source project, liking it or not, is a special kind of product: a bit like the Wendy’s custom burger: the developer provides a base application and the user requests expansions or even add its own modules, then he hangs the receipe in the bulletin board so that other people can try it and customize it too. And the kitchen is open and visible, for people to go cook its own stuff, and the cook looking arouiund to prevent excessive damage.

At least on paper.

Well, if we want to go on with the figure speech, gotta say on how sometimes the cook is a gremophobic or cannot deal with criticism or either that has its own way to place blades and utensils or that allof the sudden he might decide that the users recipes are not accepted: that is the case of pidgin.

And once again i cannot avoid to put ashes on my head admitting that i had my own ego trips, and still have some now: i also admit that probably one of the reason I advocate and write articles is because i like people talk,possibly good, of me and wish that happen because i do good things for others.

Then, being one of those people that think, once you build something, to have some moral obligation towards users beside the pure pleasure of doing it, guess is a good thing. In my opinion this should be one of  the main motivators of the open source philosophy: do something good for others, a way to make the world a better place with your work, and not plitics, camps, ego trips, etc.

Also because the FOSS, such as other “ideologies”, work good on paper but then, once put in practice in the real world, end up in conflict iwth the human and emotional factor. Not keep this in account means sure failure.
That is exactly what is happening now in KDE, Pidgin and, partially, in AROS too; the steadfastness in the original positions and goals is not a good thing in the long term. If IMHO the developers have still some ethic sense they should put egos,steady positions and golden rules apart and focus in reach at least some milestones on the path, so that there will be set some bases for decide how to go further in the next future.

Well, 40 years old and still believe in fairy tales and in the fact that people can do the most logical and practical choice… guess am hopeless:(


AROS: the Pidgin Factor and Product Management

[This article translated in a latter time]
Originally published in July 9,2008


[EDIT – oct 20 2008: this article is quite old, but seems to have grasped well some AROS recent ongoings so give it a read]

Unless somebody else of the Cannocchiale bloggers don’t tell me how to recover my old unpublished articles (waiting for time, inspiration, further documentation,etc.) i feel kinda forced to start again this article, with the needed updates.

First of all, let me introduce the “causus belli”: Pidgin Bug Report, an article on Product Beautiful and a further Article on Product Beautiful on the subject.

The outcome is surely known on who is following open source software progress: since last jannuary pidgin users are complaining about a new feature that resizes automatically the message textfield; the developers answered that it was introduced by them because they liked it and they have no plan to remove it or make it facoltative. A big discussion arised, quite polite but with strong opinions and brought to a riot against developer’s decision, at the bug report closure as “wont_fix” and at a fork of the program, funpidgin.

Among all the interventions, one quite interesting from Dan Livingston, teacher of “collaboration in the Open Source world” in a North American college, going quite hard on developers behaviour:

I teach “Collaboration in an Open Source World” at a local college. Ihave been searching for, and in this ticket have found, a perfectexample where communication between open source developers and usersfails at multiple, fundamental levels.

Obviously, the motivations of open source developers are varied;some do it for technical enjoyment, others enjoy knowing they arecontributing intellectual capital to a better world. The problem iswhen the motivations of open source developers conflict with theexpectations of users.

Consider every wildly successful open source project: the users areenthralled with their ability to perform new activities in wayspreviously unimagined. Rabid dedication grows, and an evangelical fanbase results. Pretty soon, it’s obvious why users would not want to go with non-open source software alternatives.

What happens when those same newfound powers are taken away? Whathappens when the developers impose their personal dogmas upon theproject? Even for as small an issue as chat window resizing, a minority(or majority) of users will emphatically express dissent.

It’s easy to see why open source developers could develop dogmas.Some like to fantasize about the theoretical limits to which a designmay become “pure”, developing a vile repulsion to anything which steersaway from purity. Others become obsessed with metrics such asmaintenance effort per line of code, even though they often worry aboutfeatures and lines of code which only contribute to 1% of thecomplexity of the application. Yet others develop fixation on “ultimateuser simplicity”, feeling that two options are better than five optionswhich deliver more power. The most dangerous dogma is the one exhibitedhere: the God feature. “One technological solution can meet everypossible user-desired variation of a feature.”

The initial lure of open source software is that quality softwareshould resoundingly meet the needs of users. As demonstrated up untilPidgin 2.4, the fan base has emphatically been extolling the virtues ofPidgin. But when developers take a feature away, presumably toimplement a “better version”, and that better version in fact is a stepbackwards from the functionality previously available, they had betterhave a damn good reason. Such a reason is lacking here.

“This is how IM should be used.” “Our design is better.” “We willonly consider a ‘pure’ design in which we can accomplish the oldfunctionality in a paradigm that also supports the new functionality.””An additional checkbox is too detrimental to the user interface.””Maintaining two branches of logic within the dialog sizing componentwill be untenable.” “We have no interest in not pushing our shiny newobject.”

These are all statements, which if executed within a corporatearena, would get developers fired. Developers, make note: you are doinga disservice to the community you claim to represent, and are doing sowith false illusions that you are “right” because you have convictionsin your justifications.

It does not matter that you are open source developers with theautonomy to ignore your user base. It does not matter that a plugin”could” be developed to solve the problem. It does not matter that youfeel your default solution is superior. It does not matter that youonly want to consider solutions which can be implemented through thenew solution framework. It does not matter that your users shouldabandon your product if they don’t like it. It does not matter thatsomeone could fork the code base. It does not matter if 11 thousandpeople download your source code per day, and only 270 complain aboutit. For each of these, there are very valid rebuttals.

So, only 270 complaints for this feature, out of 11 thousanddownloads? How many people immediately uninstalled the program whenthey realized it could not longer do the simplest functionality thatGAIM and other IM agents do? How many don’t know that they are usingsoftware that is now crippled in comparison to its former flexibility?How many use the software today, but will switch to GAIM tomorrow whenthey hear from their friends that it’s so much easier to resize inGAIM?

The fact is that typing letters into an IM window is THE mostcritical task of an IM program. Users have varying needs, needs whichcan not be addressed by your limited attempts to come up with “onesolution for everything” that incorporates “shiny new logic” thatdemonstrates how smart you are. You are ignoring the fan base with adedication to your convictions that is alarmingly evident to even themost unobservant of followers, and as such, you are demonstrating thatyou no longer deserve to be in the position of servicing the needs ofyour user base.

For the sake of everyone involved, I hope you find your path back to the light.

And the following is the hypothetical response that Dan supposes users should receive from the development team:

Dear Users:You are most undoubtedly reading this page because you want to know how to manually resize the text input area in Pidgin. It is a feature that you have perhaps grown accustomed to and comfortable with, but please make note – this feature is no longer supported.We have received many complaints from a very small minority of the user base who nonetheless persists in being very vocal about their displeasure. Please take comfort in the fact that they are only a very small percentage base of Pidgin users, and if ignored, will go away and bother some other open source project.

Nonetheless, we feel it very important to make the following proclamation regarding on our stance on this project: we will not “fix” it. In fact, please notice that the status of this “bug” is “wontfix”. So would you please just get this idea through you head and go away now?

We are developers of this software, and we develop Pidgin so that it may fulfill our explicit needs and desires. If you want to join us for the ride, then fine. Just shut up, though. Please, if we’ve made a feature a certain way, it’s because WE WANT IT THAT WAY. Is that so hard to understand? All day long our bosses tell us what to do. Our wives tell us what to do. Our government tell us what to do. YOU will NOT tell us what to do.

Some say that as the developers of the premier open source IM client, we have a “responsibility” to serve as wardens of our precious charge, nurturing it into a fine, outstanding, model citizen of the open source community. That’s rubbish. The last time we checked, we didn’t sign up for day care. We signed up to write software that WE want to use.

So please take your ideas and go elsewhere. If you want a development team that responds to the desires of their user base, hoping to release world-class, quality software to millions of people, then start your own open source project. It’s not that hard. It’s free. All you have to do is commit your time, just like we commit ours.

The development team would very much like to come up with a solution that meets the needs of ourselves and the general user base. However, we cannot understand your needs. You speak in a foreign gibberish, gobbledy gook language that none can understand. “I just like it that way!” That is not an answer! You must enumerate the metrics and aspects of your preferences and desires in ways that we can evaluate and then assimilate into our collective. We cannot currently assimilate any of your idiotic reasons for wanting a resizable text box. And by idiotic, we mean “any solution which does not fit into the scheme of our cleverly intelligent auto-resizing text field.”

So, just to make it clear: we will not listen to your suggestions unless your suggestions make sense to us, and we like them. If you do not like it, there are plenty of other ways on the Internet in which you may occupy your time.

Regards, Pidgin development team”

Damn! Me too, when i develop in my job am really tempted to answer like that way but, considered that if i do it might need a new job , might find myself broke and with no way to pay bills, am  kinda forced to consider a more condescending attitude.

Anyway, going to the point, i took out the Pidgin debate because of some attitudes from the ReactOS team in their discussion forum shortly before the 0.3.5 release.

I heard several hundreds of time and am aware that AROS and ReactOS need to be defined “hobbyist” operating systems and not “world domination” systems and also am aware that the “no schedule and rocking” philosophy of AROS developers is not keen to make final users and investors to plan on it; the other side of the situation is that AROS is not enough developed because its low developers number and, paradoxically,  has a low number of developer because is not developed enough yet.

Beside the preaching of FOSS evengleists, the Open Source philosophy does not require a cooperation based on the “code or get out” attityude: as exposed by Dan Livingston above, a open source community expects cooperation even in “minor” tasks such as community activities: feature requests, bug report, advertising, advocacy, graphic themes, etc.

In example I feel that am controbuting writing about AROS in my blog (advocacy): i hope in future to cooperate at a deeper level, wife and job allowing me to do that.

And even an open source community, willing or not, DOES marketing, meant as presentation of it for its diffusion: it does it mainly in a viral way, such as spreading the word, commenting it, etc.

Of course having a more outgoing profile to “sell” helps the copmmunity in the “product” diffusion.

And the diffusion of the “product” brings in both final users and potential developers.

Aros, thanks to its media apperarances with VmwAROS, for its user’s advocacy and advertising activities and for the surviving Amiga community that is having benefits through AfAos (AROS for Amiga Os, a project that is replacing outdated AMiga libraries with more recent AROS ones) is actually getting more users and developers; but it’s not enough yet.

A better presentation of the project, the rewquired documentation development – that is starting to appear but is still too depending on the pre-existing Amiga OS one, being also affected from the Guru book publishing – maybe the apparitions of written and video tutorials to explain the AROS use and at the end the hoped coming of applications and hardware drivers (tightly tied to the aforementioned catch-22 “lack of developers in a underdeveloped OS”) might finally bring AROS and other alternateOSes to be more widespread than they are now.

It is also my opinion that, once a poject reach a “critical mass” of users, the developing team’s hobbyistic/edonistic approach to programming cannot be the main motivation and the reason of existence anymore; from the fact itself that users are using and relying on it doing even critical activities with it, the team acquires the moral, if not social, obligation to listen to the final users. Then, if they like to modify things they can “sublet” the maintenance and dedicate themselves to a “director’s cut version” aside; then, if the new version will have a good response they can let it contribute back to the main flow and so on; but the fate of the project is no longer in the developer’s hands only: the project has become and belong ALSO to the community that embraced it, use it and love it.

Product Beautiful in its article talk about the Product Management in the Open Source community and on how the actual approach – thinking that product management is meant only for commercial activities – is wrong;
As provocation, they propose that open source products should have a “quality seal” in their home page (the one at the top of the page) where developers declare whether the project purpose is toward the community or if the project is made to “scratch their own itch” – meant for themselves – in ordet to avoid bad facts as the ones in the Pidgin Community.

I would be glad to hear further opinions about this.