Re: [ox-en] Germ of a new form of society or germ of a new form of business?
- From: "Niall Douglas" <s_fsfeurope2 nedprod.com>
- Date: Wed, 28 Jan 2004 14:04:11 -0000
On 26 Jan 2004 at 18:41, Benj. Mako Hill wrote:
All in one reply as so to avoid list annoyance at increasingly off-
topic subjects ...
Which implicitly postulates that selling software is the only way
to survive in the IT field. Rather like assuming that selling
screwdrivers and wrenches is the only way to survive in the auto
market, as opposed to opening a repair shop.
Not at all. "Software as a service" can only be profitable when
dealing with businesses. Why? Because home users would be aghast to
pay yearly support contracts as Microsoft found when it tried.
Perhaps things would have been different had Microsoft not been
charging for the original license of their software and then again for
what is (or is perceived as) bug fixing? I can't know and I have
trouble seeing how you can.
If you study the history of western civilisation since Locke, there
has always been a strong tendency within the public to avoid tithes
in whatever form. The most common is taxes, but fines too eg; in the
UK right now there's a major movement to overturn fines for improper
driving because the population now views them as a driving tax rather
than a fine.
To the business mindset, regular payments or rentals are common and
fine - most businesses don't even own their office space. To the
average citizen, they are a source of other people's control to take
away your property or exert influence over you. Thus people far far
prefer to invest in rather than rent. For example, people will tend
to always buy carpets, cookers, washing machines etc. despite that
it's cheaper to rent them. A common combination is hire-purchase of
course.
Given this history, it's obvious that people will want to invest in
software. It's why there's a historical opposition to /licensing/
software ie; people when they buy Windows think they own a copy and
despite the law and everything saying otherwise, they still sell
second hand copies to each other or very often just duplicate the CD.
I personally think this is a good thing given that the software
industry in general would just love to rent their software to us
which usually means it's bad for us.
There is a quickly growing industry of people who make money from home
users to troubleshoot and fix their software. I know many people
employed doing exactly this.
The vast, vast majority of this work in unpaid and therefore lost
productivity to the economy.
Therefore there's no commercial interest in developing free software
for home users past developing a sufficient desktop to run office
tools.
I think that you are creating overarching conclusions based on very
shaky propositions. I also think your opinion of what it means to use
a computer at home is extremely uncreative.
Get this: most people do not care how a computer gets its job done so
long as it does it. Stuff like Linux and free software is unimportant
except for the latter's usual lack of cost.
They also want their computer to work. Most (young) people who hate
computers do so because of two things: (i) the historical
unreliability of Windows and (ii) lack of usage skills because MS
made them appear sufficiently simple that they could claim no
training is required (this was and is lies, but still not one we've
gotten over).
The great trouble with the Linux desktop is that of the Windows
desktop - to really get anything done you need some technical
knowledge. That technical knowledge for Windows is not that for Linux
nor can it be translated - therefore this is a major switching cost
for the average home user.
Interestingly I have found the non-programmer users with the most
technical knowledge are Mac fans. They don't know how or why deleting
some line in some file works, but they do know it. I find this kind
of mentality extremely interesting because these people are much more
common than programmer-types and thus a larger market.
And let me highlight a fundamental problem with the Unix design
mentality - they don't care much about maintaining the ABI as
they're used to installing all their apps from source.
I reinstalled my laptop with one version of Debian and upgraded the
entire system it twice (including libc upgrades) and have not invoked
yet a compiler. Every major Linux distribution (No, Gentoo is not a
major Linux distribution yet) is binary only.
Are you seriously claiming that you can run programs compiled for
modern Debian on an untouched Debian from 1996? Even from 2000?
Conversely I can run a majority of modern Windows software on my NT4
installation without problem. It'll soon be a minority especially
after Longhorn.
If you'd discussed and implemented as many ABI/API distribution wide
ABI migrations as I had, I think you'd be less quick and
uncompromising in your statements.
I am unduly influenced by RedHat true. I have never used Debian which
from what I understand is a far more stable system. However how many
Debian installations are there versus RedHat? How much development
work is done on Debian versus RedHat systems? Which system will the
average developer tend to think like?
However see how Joe Bloggs likes this. They want to be able to
download a binary and run it. They don't want to mess around with
dependencies or compiling it, they just want it to go.
Have you heard of the LSB? Pan-distro binary comparability *is*
important to many developers in the *NIX world and it's been the
subject of some of the most active and exciting Linux development in
the last few years -- by volunteers, businesses and for both home and
business users.
There's a proposal right now to put LSB and ABI compatibility into the
Debian social contract!
I would wholeheartedly endorse such an action. However because of how
the software is designed they will have to do like OpenSSL and rely
on mature packages not changing much.
Contrast with how Qt is designed for example where all structures
possible are made opaque, often for substantial extra programmer
work. This permits radical internal redesigns with maintainence of
full binary compatibility.
Let's go further - on Windows the DLL binding system has been
designed with data hiding in mind. Contrast with the laughable
implementation of ELF symbol hiding in shared objects on the GNU
toolset - with their refusal to implement a MSVC-like per-class
access attribute and default no publication. Actually, I'm going to
propose that to gcc-bugs and see how annoyed people get like last
time I proposed a MSVC compatibility feature! :)
This is why Linux and BSD will never take a majority of the home
market. Perhaps a good minority of the techie crowd, but no more
until the ABI problem gets fixed. Which will be never, because most
Unix software nowadays isn't written that way and its development
mentality certainly isn't that way.
Good thing there are lot more people working on things like LSB and
pan-Linux binary compatibility than people like you sitting around
explaining why the project is doomed to failure. The LSB wouldn't be
on version 1.3 with support in every major distro yet if the situation
were reversed.
I think that's a bit unfair of you - I am not saying it's doomed to
failure. As Apple have shown with MacOS X, it's possible to maintain
some form of ABI compatibility in BSD components. However they are
centrally managed whereas Linux is quite chaotic in nature.
What I *am* saying is that it's stupid to try applying a malfitting
tool to all situations. Linux is excellent on the server, excellent
for thin-client office suite terminals and is pretty good for
embedded OS's. Its strengths lie naturally there. It however is not
good as a home user OS, in fact it's positively bad and due to how it
is developed right now it will remain so.
Better IMHO to play your strengths than your weakest. Of course
politically since so many want to believe that KDE/GNOME/whatever
will become the default desktop, it may yet happen. But they sure are
fighting Microsoft's strongest forte from their naturally weak
position.
Which is why they need to realise that free software is an
aspiration, not something written in stone by a self-appointed set of
"masters" according to their particular political agenda.
So you're trying to confuse the term "free software" to make a point
that people shouldn't be accepting fixed definitions of any sort? I
hope you realize that in making this statement, you will be keeping
people from understanding your own definition as well. You'll also be
annoying them and making yourself appear as a troll in many cases.
You must remember that I am not particularly trying to convert anyone
here. I simply have my views and if people want to listen they can.
My definition of free software is what freeing software is all about,
why it must be done. If you look closely you will find that my
definition encompasses all others, it is the one true definition.
Unlike GNU which states an intention and then goes on to only
implement it with caveats, I am remaining true to their original
vision.
Actually, I find it interesting that a majority of those that I
encounter from non-western countries agree 100% with my definition.
Freeing software is what's important, not free software.
I'm not sure where "non-western countries" come into the equation here but
They use more free software per-capita than western countries and
it's vital to their future development.
I imagine that the majority of people who have not heard of "Free
Software" will probably also agree with your definition because they've
got no reason not to. The problem is that the majority of people who
*have* heard the term "free software" before are talking about something
different and it's going to be hard to accomplish what you want without
dealing with these people -- perhaps *mostly* with these people. You will
be less likely to convince people of anything when you start by telling
them that you intend on using a commonly used term in a way that means
something different.
No, these people are often Linux developers. The difference is in
their background - they see restrictive software licenses as just
another means the west uses to exert hegemony over them. To us
Microsoft's behaviour is annoying, to them it's bankrupting their
economies, starving their peoples and keeping them firmly under the
imperialist yoke.
Software must be freed for the good of mankind.
I don't want to spoil your upbeat attitude toward the flames you
receive but I believe they might also have something to do with the
fact that your offend them with things like comments implying that
they "merely believe in free software because it's in the 'in' thing
right now." But that's just a guess.
Probably. But in the area of software I don't need to be diplomatic -
I neither lose nor gain anything by taking the position I do about
things. OTOH you probably wouldn't have engaged in this thread if I
hadn't have adopted the tone I did.
What is fundamental to my way of thinking on this subject is
morality (which I define as that which maximises self-
sustainability).
Again. Your *own* moral system. That's fine. But don't call other
people self-castrated or deluded when they don't share your moral
system and they don't come to the same conclusions.
No EVERY moral system. Morality is the sociological device used by
human societies to encourage sustainable behaviour and discourage
unsustainable behaviour. I'm just trying to think of a reference for
this but one isn't popping into mind. Maybe it was off the web.
If you take all the moral systems in all the world's cultures, you
will find one common theme - that which I have just outlined. My
definition of morality is what it is fundamentally.
Those you criticize don't always think that the GPL is a
one-size-fits-all license. I've personally released software under the
modified Artistic and submitted code under the modified BSD.
Outstanding, good on you! I should mention that I recently patched
GCC-XML and obviously my changes are under the GPL. I think we are
perhaps more of a similar mind than either had realised previously!
My point is that more software under the GPL should be under the LGPL
which retains far more options for the future. If the FSF didn't make
such disparaging noises about the LGPL I wouldn't have such a problem
with that organisation.
Because of clause 3, it would be perfectly reasonable to start
developing under the LGPL and switch later to the GPL without having
to obtain the permission of all the copyright holders if the
situation warranted it eg; exploitative interests were sniffing
around.
In a more extreme example, I'm a fan of MAME (the Multiple Arcade
Machine Emulator) which has a non-commercial clause and is not even
Free Software! Due to the unique circumstances of that project[1] they
felt in was in best interest of their project's survival to go this route
until the broken legal systems in which they work is fixed. I tend to
agree.
As do I. We suffer too much from a "one size fits all" approach in
all western culture. Every situation is unique and I'd like to see a
stock set of maybe seven very different licenses which you can choose
from. We have this already informally, but each party is still trying
to push people their route even if that route is very sub-optimal for
that particular case.
If the FSF and GNU really had the best interests of software in mind,
they would not act like they do. Linus has said similar things like
not trusting the FSF because what they want is not what he wants.
Trivializing the position of the pro-globalization movement -- even
through I happen to disagree with them -- is not going to get you far in
your argument that you are *not* trivializing fans of the GPL.
Put simply - they're wrong. I have no problem if people are wrong if
they don't go around spreading their "wrongness" and causing more
damage.
If enough people stood up to globalisation, the Bretton Woods system
would fall and we would usher in post-capitalism. Unfortunately too
many people are happy to let sleeping dogs lie and it costs thousands
of more lives per day.
It's not comparable with the GPL of course. But morally it's similar -
if someone is wrong, even if they don't know it, they will not get
me telling them they are right. I will tell them that they are
deluded (ie; think something they think is right but is actually
wrong) or a zealot (ie; think something and don't care whether it's
right or wrong). They can dismiss me as a crackpot or troll fine, I
did what I could.
face it - it is not a panacea and worse, applying it willy-nilly to
everything is catastrophic for certain kinds of software.
I have yet to see you point to such a catastrophe: a *real* example
and not conjecture or a hypothetical situation.
Off the top of my mind:
1. A certain RISC microprocessor manufacturer wanted to develop a C++
compiler for their processors. G++ was already available complete
with back-end for their instruction set. However they still had to
employ fifteen engineers over two years to write another from scratch
because of the GPL forcing early disclosure of trade secrets from
which this company derives most of its profits.
2. AtheOS was a highly innovative, even radical operating system. It
was licensed under the GPL. Its original developer lost interest and
so the community took over and made it Syllable. Unfortunately
because of the conservative effect of volunteer led design, it's
actually become less radical with time because no one would
volunteer/waste their time on untested unagreed ideas - therefore
they simply cloned ideas from other systems. This is an area where
paying engineers to do what they're told is the only one which works.
3. Could Apple have survived if it had chosen Linux instead of BSD as
the base of MacOS X? (This is a harder question to answer than it
looks).
What I cannot give examples of is the networking effect ie; when
someone ties together existing software to do new things. GCC-XML is
a good example of getting GCC to do new things its designers never
thought of. Source availability is crucial for the networking effect
though it happens slightly on binary-only Windows due to its
ubiquity. I'm very sure that the diversity of the Unix environment is
due almost entirely to the networking effect.
And this creation of diversity is something that Linux has not yet
matched. FreeBSD is still a superior Unix to Linux despite a much
smaller developer base.
For me freeing software means also being able to commercialise it or do
anything at all reasonable with it so long as you return the
enhancements back to the public freely.
Wait, this is exactly what the GPL does. You can do do anything you
want with GPL'ed software, as can anyone else, as long as they pass
along their enhancements in such a way that other can do the same.
What am I missing?
Can I link GPL code in with my open source product and sell that
product? No. Why? Because the GPL guarantees the freedom to
distribute your product to others without paying you.
Therefore you can't commercialise GPLed code which is the whole point
of it after all.
I personally don't see any reason why if you publish the product's
source with user rights to exchange patches you shouldn't be allowed
to restrict distribution. It's a quid pro quo.
The reality is that under a services funding model you will always do
the absolute minimum necessary to comply with the contract. You will not
revolutionise things, not tip up the apple cart nor anything like it
because it takes longer and is more complex.
This is unsupported and unsupportable. How do you explain the
volunteer Free Software movement which makes no money at all and often
does very complex reimplementation and reimprovements? How do you explain
Mozilla which was *designed* to do a simple improvement of Netscape and
ended up rewriting the entire browser from scratch into a system that is a
substantial improvement over the alternatives -- proprietary and free?
Has the balance of IE vs. other browsers changed significantly as a
result? No. Is this new Mozilla better than Opera? No. It's pointless
doing work unless the work is worth it. Since KHTML was designed, yet
another free HTML renderer seems foolish. Still, people are free to
waste their time if they choose.
The economics of volunteer free software development and contracted
development are totally opposite. Volunteers will undertake pointless
complex work for no remuneration because it's fun. Contracted
development will do as I say and do the least possible to meet the
terms of the contract. For example, when RedHat was doing the NPTL
POSIX threads implementation, why did they stop there and not
substantially improve the POSIX threads standard (which needs it)?
No, the GPL is extremely bad for innovation and worse, it stops
people being innovative by reusing GPL code.
I have previously pointed to many examples of reimplenetation and
innovations in code available in the GPL. Am I to assume you missed
them or simply ignoring them because they don't back up your own
arguments?
Give me three examples of step-change innovation *developed* under
the GPL. Remember, step-change innovation is where the innovation was
non-obvious and not taken from a previously existing example.
The only examples to my knowledge are Plan 9 (only put under the GPL
when AT&T couldn't find a market) and Syllable (one developer, when
it got more the step-change innovation stopped). If you really want
to convince me, your three examples can't be single-man projects nor
became GPLed when the developer couldn't sell it.
My point is that the only reason why the GPL is in such favour is
because most people operate in a "anything but Microsoft" mode.
I don't think the GPL has much to do with Microsoft at all. If people
wanted to get away from Microsoft at any cost, I think they might be
running to other proprietary operating systems as well. Remember that IBM
and HP are in the process of promoting Linux as an alternative to their
own internally developed Microsoft alternatives.
The GPL has *everything* to do with Microsoft. Microsoft replaced the
proprietary Unix vendors which the GNU project was started to avoid
precisely because Microsoft were better at exploiting the users than
the incumbents (and I include lying via good marketing in
exploitation).
Microsoft are representative of all that is wrong with software - how
it is developed, delivered, distributed and used. They earn more than
the GDP of some countries and yet do the absolute minimum for it.
Increasingly people are realising this, finding themselves disgusted
and seeking anything but Microsoft.
Until very recently, there was one choice - Linux. Now Apple have
come back, most users leaving Windows are going to Apple rather than
Linux according to the most recent IDC report.
Remember that before MS it was IBM. IBM only advance Linux because it
opposes MS - if the opportunity to reinstall itself as the supplier
of home user OS's ever arises, IBM will fight tooth and nail to
achieve it. Because quite simply, that's where the money is and where
the incumbent has a massive advantage (unlike servers). Microsoft
knows this which is why it went after Netscape and Sun, both of which
tried to develop a common desktop system to replace Windows.
You must remember that all these software companies are the same -
they are each as bad as the other, all of them. People are seeking
refuge from that, not choosing Linux because they like it
specifically.
Cheers,
Niall