[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: (seemingly) declinging bug report numbers



On Sun, Oct 21, 2012 at 01:26:56PM +0900, Charles Plessy wrote:

> generalisation of application stores.  How can we attract the creative people
> who entered the field of software development and distribution on Android or
> iOS ?
> Worse, because of the fragmentation of the « Linux » landscape, if they want to
> distribute their work on « Linux », these developers need to learn how to do so
> on Debian, Ubuntu, Fedora, openSUSE, etc., or need to convince develpers to
> package their work.  And this still does not save them from learning complex
> details, as for instance it is not obvious to determine how long it will take
> for a package to migrate from Debian to Ubuntu.

I've said this at the AppInstaller meeting almost 2 years ago and I'm
still convinced of it: the distribution fragmentation is the least of
our concerns. The big concern is that we don't have a stable "Linux"
API.

If I invest targeting "Linux", I'm pointing at a moving target: I can't
have a one-off investment to get up to speed with the platform and then
make stuff on it: know-how gets obsolete rather quickly, so I not only
need continuous investment for staying up to speed with the platform,
but I need to hire the kind of people who cope well with a moving
target.

Those people cost more, are harder to find, and can probably be employed
in a more productive way than handling transitions from gtk/qt version n
to n+1, understanding new obscure gcc 4.x+1 compiler errors, handling
new backtraces or deprecationwarnings when some python library upstream
feels like being cool and agile and breaks API once again. And I'm
only using reasonably stable ecosystems as examples here.

We won't attract the people you're looking at, until we can actually
come up with a standard, cross-distro toolchain that:

 - is actually useful to build games, UIs, whatever you want people to
   build;
 - provides an API[1] that is guaranteed not to change for at least,
   say, 3 years;
 - when it changes 3, 6, 9, ... years later, you can trust that it will
   change into another that's just as stable;
 - is actually widely adopted by the community.

When that happens, then people can invest in writing books, can offer
training courses, can get value off their know-how.


TTBOMK, what we currently have that fits what I said above is this:

 - traditional C, plus libc (not sure about C99);
 - bourne shell, grep, awk, perl, and the stuff sysadmins tend to use
   (people who have large cluebats in their toolbox are surprisingly
   good at demanding a stable ecosystem);
 - HTML, Javascript and DOM inside web browsers.

Python 2.7 and its standard library are not there yet, but should be
once wheezy is out. Interestingly, python 2.7 is becoming a compelling
stable development environment *precisely* because upstream decided to
stop "improving" it.

Note that the only way to offer a graphical UI with the stuff on that
list, is inside a web browser.

Power structures are interesting: sysadmins have power over sh, grep and
awk interfaces: if upstreams tries to "improve" those in an incompatible
way, they deserve die a horrible death.

The opposite is true with UI toolkits: any new iteration of the
libraries is an awesome effort of awesome developers who are right and
just, and if you don't understand it and don't adopt it immediately, you
deserve to die a horrible death.


I believe this is a topic with lots to talk about, very little in the
realm of easy solutions, and quickly diverging from the initial aim of
the thread.


[1] I care less about ABIs, but you may need that too if you want to
support proprietary software


Ciao,

Enrico

-- 
GPG key: 4096R/E7AD5568 2009-05-08 Enrico Zini <enrico@enricozini.org>

Attachment: signature.asc
Description: Digital signature


Reply to: