upload tizen1.0 source
[pkgs/e/elektra.git] / doc / society.xml
1
2 <!--
3 $Id$
4 $LastChangedBy$
5 -->
6 <section id="society"><title>A Society of Softwares, Bureocracy and Integration</title>
7         <para>Let's imagine that every Open Source project (and commercial software) out there are members of a society. They can't live alone each one in its own cave. XFree, Apache, Samba can't work without an OS, and an OS is useless without higher level software. KDE, Gnome need X. Nobody can think about setting up an Internet MTA without an anti-SPAM tool, and strong commercial anti-virus software. Apache needs third party plugins and extensions to add value to what it does. And all of them need a growing number of users to justify a purpose for them to exist.</para>
8         
9         <para>The way these members start to work together - and then really make the <emphasis>society</emphasis> evolve - is through their configurations. As an example, an advanced commodity video card must say to X Window System: "Hey! I'm providing this driver and parameters, and I guarantee for you and your customer super exciting fast graphics!! Let me show you how to do that". And then X must say: "That's great! Please proceed making my customer happy, without taking his and <emphasis>my</emphasis> time to show we can work together. And BTW lets make some co-marketing to advertise the value of our alliance."</para>
10         
11         <para>But the hypothetical conversation happening today is:</para>
12         
13         <simpara><emphasis>Commercial Driver:</emphasis> "Hey, XFree, I'd like to reach your customers 'cause they like that 'F' word in your name. I'd put together some code to work with your supply chain specification (driver API), but you have such a big network of brokers (OS distros), and each one showed me its set of paper forms (configuration files) I have to fill to work with you."</simpara>
14         
15         <simpara><emphasis>XFree:</emphasis> "Yeah, thats great. But look, I'm very focused now working on performance and architecture. You should really try to understand how each of these brokers work, and how to fill their forms."</simpara>
16         
17         <simpara><emphasis>Commercial Driver:</emphasis> "Well, thats quite impossible because they are too many, and that's just too much bureocracy for me to handle. So I'll keep myself focused on that other broker that is so easy to plug-and-play. And the best I can do for you is to write a white paper for your customers, explaining how to use a text editor to get us working together. And BTW I'm not able to provide support, because I can't understand your ecosystem of brokers and users."</simpara>
18         
19         <simpara><emphasis>XFree:</emphasis> "OK. That's life."</simpara>
20         
21         <simpara><emphasis>XFree Customer:</emphasis> "Oh boy, why is this Video Driver I just bought so difficult to install and manage? Why is so easy to do that in my other partition? Why the driver installs itself so easily there, and it is so complicated here?"</simpara>
22         
23         <simpara>(this conversation received a considerable amount of drama, it is just an example, and this specific entities in real life may not have exactly the issues showed here)</simpara>
24         
25         <para>How many advanced Linux/*BSD/GNU user have been asked to help a newbie friend to setup his video card? I know plenty of them.</para>
26         
27         <para>Because of the Bazar-way of developing Open Source Software, each software project still dodn't agree in a common way to store configurations, so this part of the software is still like 20 years ago: a human-readable text file format that each project invented for itself. This makes them relatively easy to be managed by human beings, but not sociable at all in this hipotetical software society. It is programatically difficult to make different software have "social relations" in the current way configurations are handled. An application's configuration is its personality.</para>
28         
29         <important><para>A key-value pair mechanism brings little or no additional value for a software that is using it to store its configurations/state. But it is vital to make it more "easy-going" in a society of softwares. This will benefit the society as a whole, and consequently all of its members.</para></important>
30 </section>