Waiting for the rapture
Off the Beat: Bruce Byfield's Blog
To my surprise, I have been involved with free and open source software (FOSS) for the better part of twelve years. For ten years of that time, I have made my living from FOSS, either as an employee or as a free-lance writer. But sometimes, I have to admit, I get tired of waiting for FOSS to fulfill its potential. While it has come a long way, FOSS still isn't as universal as I thought it would be by now. Sometimes, I think the movement -- and I -- have lost sight of the goal among the day to day necessities.
I remember the first time I became convinced that FOSS could become the norm. It was when I first saw GNU Parted. I had been a user of PartitionMagic from its earliest days as an OS/2 application and been impressed that what was then an innovative tool had originated completely outside the Windows ecosphere. If FOSS could duplicate that effort in the form of GNU Parted, even without a graphical interface, then it seemed to me that there were no limits to what FOSS could accomplish. Once people saw what was available as free software, why would anyone ever buy its proprietary counterpart ever again?
You don't have to tell me that I was naive. I over-estimated the influence of logic on people's decision-making, and under-estimated the power of habit, ignorance, marketing, and FUD. In mitigation, I can only plead that FOSS was just making itself known at the time, and in the excitement anything seemed possible. At the time, Linus Torvalds could joke that the goal was world domination, and, while everyone in FOSS laughed, the joke seemed well within the realm of possibility.
Trapped in the same place
Since then, FOSS has firmly established itself as a dominant part of the IT scene, so much so that the fact that a company is using GNU/Linux has long ago ceased to rate as news the way it once did. The desktop has improved out of all recognition, not just in the dominant GNOME and KDE projects, but in Xfce, LXDE and all of the other alternatives. From these perspectives, I should be dancing in the streets, not despairing over my keyboard.
So what am I down about? Mainly the fact that, too often, FOSS seems to be faltering when it is nearer the goal of completely free computing than ever before.
For one thing, I see a movement that continues to deal with many of the same problems as as years ago: essentially meaningless divisions like KDE vs. GNOME or unnecessarily divisive ones like free software vs. open source. Other divisions, similar in nature, seem to be springing up, too, such as LibreOffice vs. OpenOffice.org. I see a community where women see the need for anti-harassment policies at conferences, and where many see the need for a community code of conduct like OpenRespect -- and where many more denounce the idea with ad hominem attacks on such efforts. Too often, it seems, community members reserve their most vicious attacks for those who should be their allies.
In something of the same way, on the computer, FOSS is still dealing with some fundamental problems that were around when I first came on stage -- things like free video drivers and a free Flash alternative. Other problems, like proprietary firmware blobs in the kernel are newer, but somehow the community seems unwilling to support those who are trying to do something about them. In the last couple of years, it has sometimes seemed as though the majority of FOSS supporters have decided that close enough is good enough, and view those who insist that the final steps need to be taken as punctilious killjoys.
Then, just to top off everything, we still haven't learned to publicize properly. FOSS now boasts some of the most innovative software available in the shape of applications like KDE or Amarok, and countless workhorse applications like Scribus and The GIMP, yet outsiders' image of FOSS is still of operating systems run from a DOS-like command line.
In short, why can't we get along? Why can't we finish the job? Why are we keep such advantages to ourselves? Why do we act so often against our own best interests? Why are we acting so stupidly when we know we're acting stupidly?
Making a gesture
My answer to all these questions is the same: I don't know. But I also don't want to settle for simply expressing my frustration.
Since I'm not about to walk away from everything that occupied so much of my working life, it's time for an affirmation.
As soon as I post this blog entry, I'm going to log on to PayPal and make a small donation to the Free Software Foundation. The Foundation can sometimes be too inflexible, and it often starts far more than it can properly continue, but it's still the closest thing the community has to an organization that has stayed focused on its basic goal. For that reason, I think I'm overdue to show support -- even though I'm a Canadian, and won't be able to write off a donation to a non-profit that's registered only in the United States.
You may not share my views about the Free Software Foundation. But, as you start to prepare for the year-end celebrations, why not find a hundred dollars or Euros or whatever to contribute to the FOSS project or organization of your choice? There's hardly one that couldn't use the money, and if enough people do so, then maybe the movement can realize its basic goals at last and we can start to think about what should come next.
Re: diversity red herring and Bruce trolling"As for the article, it is lazy beyond belief and truly ironic that after spending years crapping on people who follow free software ideals, Bruce wants us to follow his step and give a few bucks to the FSF.
Thats the great part with Christianity,... say Im sorry and give a few bucks and all is forgotten.
(hint: The FSF is very anti-Mono. Thankfully some people think ahead.)"
To give this diatribe more respect than it deserves:
1.) Unless you think that unthinking support is the only possible expression of support, I have never written or said anything that could be described as "crapping on people who follow free software ideals." I have, answered some self-appointed demagogues from time to time, and punctured their pomposity, but I have an excellent working relationship with the FSF employees with whom I deal regularly.
2.) I am not a Christian, and have never expressed support for Christian beliefs, so I'm not sure why religion is even mentioned here. But I think you are referring to Catholicism, not Christianity in general.
3.) I am equally puzzled why Mono is mentioned here, since I have never supported the use of Mono. Just because I can disagree with its supporters without demonizing them does not mean that I share their views.
4.) It's hilarious that someone who obviously only knows me from second-hand accounts should accuse me of laziness.
5.) It's even funnier that some anonymous poster should demonstrate so well the kind of in-fighting that I mentioned in the article.
I'm sure you feel warm and cozy, envisioning yourself as the defender of free software by making vicious and unsupported attacks. But why don't you put your money where your mouth is? I have -- and I don't hide my name when I do, either.
Developing on LinuxLinux's development environment is way too complicated for the app developer wannabe. (like me)
Linux needs to do what Microsoft did with .net and Google did with Android/Java. Each has many rich and well documented libraries, functions and data structures.
Anjuta is a big step, but finding the best C/C++ library for a task takes a lot of time and experimentation. (which libxml?) Library documentation and examples are often scattered, obsolete and incomplete. (My GNU C++ programming for Linux by Tom Swan is already obsolete.)
Tutorials rarely go beyond "Hello world", or delve into the many useful libraries linux includes. (glib, for example has linked lists and associative arrays, I don't need to reinvent the wheel. But do any books cover these libraries?)
How best to organize one's files, headers, functions, etc. is hard to find.
What are the best methods, tips & tricks, techniques to use on Linux?
What should be avoided? For example, I was trying to build a special daemon project, which crashed consistently. In doing so, I learned that fork and pthread shouldn't be used together? Or did I learn that wrong? Not sure, documentation is conflicting. (I gave up after many evening hours hacking away at it.)
There are no comprehensive resources on developing apps on Linux. Everything is scattered too far for a newbie to gather efficiently to be productive.
Yet, today, one can get a few books on Android development, download one of several Android development environments and hack out a "Hello Wold" in an hour.
Why are there more Linux distros than killer apps? Could all that effort be put into developing applications? We don't need another distro. We need apps.
In short, Linux needs something between Anjuta, Eclipse, .net, Android, etc. to attract developers. Something to smooth out that steep learning curve.
Not only would we get more apps, but better quality ones, with fewer bugs or security issues.
Enh, just frustrated here. I want to spend hours learning and creating, not searching for examples or documentation. Programming on Linux is like trying to make a loaf of bread by planting a wheat field for flower and raising cows and chickens for the milk and eggs.
I miss computer magazines from the 80's. Plenty of good programming examples. I had an Atari 800XL, learned 6502 Assembly Language from a couple of well documented books and ROM source code.
(Atari was open source.)
Check this out, this is good:
Unfortunately, there's not much else up there. sigh...
diversity red herring and Bruce trolling@Ariana Coder: youre some piece of work. Living in your own little world and making sweeping accusations.
First of all, enough with all the community talk. There is NO community. There are tons of small projects which interact with other projects to different degrees if at all. What you say about kernel devs has little to do with the world of Nuno Pinheiro or the guy working on some game on KDE Games.
My uncle contributes a few patches to free software at work because it makes his life and companys easier because of a certain software. He has nothing to do with community.
Diversity? I come from eastern europe.
My best man is brazilian and contributes to KDE and his best friend at work is also a free software developer and is Bolivian. We have an office in Mumbai and the people there are indians.
Lack of women, yes. Diversity problems? No.
Would it be nice to have more women in free software? Yes, just like it would be in tech in general.
On the other hand, we dont seem to get in arms when our teaching corps and health staffs are mainly female based. I think a child that goes through 12-13 years of schooling and has no male teachers apart from a token phys-ed sadist isnt getting a balanced education.
It would be nice if there were more men in teaching and health services just like it would be nice to have more women in tech.
As for the article, it is lazy beyond belief and truly ironic that after spending years crapping on people who follow free software ideals, Bruce wants us to follow his step and give a few bucks to the FSF.
Thats the great part with Christianity,... say Im sorry and give a few bucks and all is forgotten.
(hint: The FSF is very anti-Mono. Thankfully some people think ahead.)
This isnt the usual lazy "when is Linux going to win on the desktop" article, now its ALL of FOSS.
What all of FOSS?
To me VLC is a winner, best of the best. How can it be better? How has it failed?
Mozilla? They succeeded. They might eventually fritter away and give place to another but their success has already been achieved. More or less % in the future in no way changes the impact it had.
Samba, Apache, the whole LAMP stack... what is this FOSS you speak of Bruce? Seems they and others are doing fine.
There are full of successful free software projects and even my own 5 person project is a total success.
Sure, its pretty much limited to about 4-5 companies that need this particular function but it is a total success. We have 3 companies that donate developer time (10% of their time), and even with a turnover of 100% of devs in the past 3 years, its going on strong.
How are we not a FOSS success?
FOSS is a general term. It means everything and nothing at the same time.
FOSS isnt doing well? That's trolling for hits.
SOME FOSS projects are doing well, some arent and most dont fit in your criteria of doing well anyways.
as the usual Why Isnt Linux Doing Better? question that makes writing so easy, asking a general question and coming up with specific examples leads to the same answers. Totally being inward looking and not noticing outside forces will help the chicken little reactions (remember your KDE4 panic when most logical people decided to wait it out?) Comparing techinical success with marketing is apples and oranges. A project can be successful without being popular. Dominance is NOT the only way to measure success.
If someone has problems marketing and monetizing free software methodology or even software, that has very little to do with the software.
if you run a GNU-Linux distro tomorrow and say to yourself, 'This is IT. The best desktop anyone will ever make.' and that distro is run by exactly 6 people. Is that a failure of technology, the collaborative methodology and licence choice or is that a failure to market these technologies into a product?
if the technology, methodology or license are a problem, that would worry me but I choose the latter two and those three are where my interest stops.
I care about the technology. Whether someone makes a few bucks on it, not so much.
World domination, not on agenda.
Lazy, lazy, lazy....
there is no communityOne important thing to realize is that there is no single, harmonious community in the sense that people seem to use the word, any more than there is a community of software corporations. Ubuntu and Suse are part of a FOSS "community" in the same sense that Microsoft and IBM are part of the corporate "community". The FOSS "community" is made up, as any other, of lots of individuals doing there own thing for their own private reasons. They might on occasions be all heading in the same direction, but its as a result of coincidence, not any kind of "community" plan. This is the real weakness of FOSS - that it is by and large an uncoordinated mess - a hodge-podge of bits and pieces created at (and discarded at) the whim of individuals, Only really the corporate sponsored aspects have any real cohesion (Red Hat, Novell, IBM). Most open source / FOSS projects come and go like the wind. Created initially with great enthusiasm, then abandoned when the novelty wears off.
FOSS PotentialAs a 30 year UNIX administrator, I do not share you impatience. I began in the era of punch cards and marveled at the first TTYs that placed a keyboard and screen greedily under my fingers. Even then UNIX was splintering as system programmers eagerly tore into its potential. But that splintering was not a bad thing, it seeded the ecosystem with an amazing diversity of solutions to similar sounding problems that in turn seeded the ecosystem in an iterative orgy of problem solving that continues to this day. FOSS will never reach its potential as long as young minds tear into problems and scratch their individual and collective itches. Two years ago there was no kinetic interface -- thus there was no potential to reach. Today we look askance at out mice and keyboards and wonder how long they will be around -- but once, in my lifetime, we wondered if they would ever reach their potential. There is no end to the innovation that will take place in this ideaspace -- relish it -- do not disparage it.
Arianna CoderSorry, I left off the rest of my comment-- this whole "community" thing and "we are so wonderful" is overblown. Nobody eats their own young as efficiently as FOSS. There is much untapped potential because for the most part FOSS is stuck in the ruts you describe.
right on bruceExcellent piece, Bruce, and right on. I have to laugh at the commenter that claims OpenSUSE is free of misogyny and elitism-- ahem. It isn't. FOSS does not have very much diversity, it has less than the commercial proprietary world for the most part. This lack of diversity hurts us, because a lack of diversity leads to a lack of imagination, and a dearth of ideas and perspectives. However the cozy little self-congratulatory attitude is over-abundant, along with the idea that we're too cool for honest introspection and don't need to look for ways to improve.
FOSS' biggest failing is developer worship at the expense of everyone else, especially the users of FOSS. That cozy little tribal 'tude more than anything else holds FOSS back and is why big commercial interests are pushing FOSS into new arenas, like Google with Android. The Linux kernel is corporate-controlled.
Waiting for the RaptureInteresting observations, Bruce.
I think it's worth remembering that the FOSS world is as diverse as the wider world, almost a microcosm, and so some division is inevitable. For every example of divisiveness, there is a contrasting example of collaboration and cohesiveness.
Look at openSUSE right now (disclaimer: I'm a biased member of the openSUSE marketing team ) with the openSUSE Build Service facilitating packaging across distributions and platforms - a tremendous investment in infrastructure and expertise that benefits projects across the whole FOSS world.
In a recent discussion about women in openSUSE, we observed that a special group wasn't really neccessary. We have a 'page' somewhere... but it's pretty much defunct, as our team includes women as a matter of course. As a newbie writer, I've found everyone from random members on our IRC channels to key developers to be supportive of my work. Misogyny and elitism are not to be found.
The Desktop Summit is coming up in Berlin in 2011, with KDE and Gnome co-hosting. Freedesktop.org continues to promote standards - however there's a caveat as always, with standards that suit the heavyweights not always conducive to the aims of the lighter desktops like LXDE and XFCE.
Maybe it's our tribal nature that makes us 'team up against the enemy' or maybe we've been sucked in by marketing dogma that tells us to demonize the opposition. I hope we keep fighting against that negativity. Diversity can have its downsides, risking duplication and dilution of our efforts, but it has tremendous upsides, as Linux continues to offer the flexibility and choice that proprietary operating systems can only dream of.
FrustrationI understand your frustration and I praise your call for action. However, I'm sure you will agree that, given the range of problems and obstacles that you have identified, just giving more money to FOSS projects is not going to be enough to reach the breakthrough you seem to be waiting for. The main point I want to make lies somewhere else though. Your comment about 'world domination' reflects an underlying assumption that, most often than not, FOSS supporters fail to question. It is the notion that, once it is good enough, people will switch to FOSS because, besides being able to do everything they need to do, it also has some other advantages, the core one being 'freedom'. But this misses the point of considering the wider socio-economic context in which FOSS is immersed. A useful parallel is that of 'free trade'. Since Marx, radical economists have used the concept of the 'fetishism of the commodity', by which they mean that, in a system of generalized exchange, we tend to attribute certain features (such as price, value, etc.) to commodities, to things, when in fact they are the direct outcome of social relations that then become obscured. Thus we buy cheap and beautiful shoes without being aware that kids are exploited at the other end of the world in order to produce them. 'Fair trade' is an attempt to overcome such fetishism and make us, first of all, aware of the social relations behind production and consumption, and second, consider these relations in our consumption decisions. These are worthwhile and necessary initiatives, I would argue, but we need to be aware that we live in a political economy whose main dynamics obscure and prevent such kind of 'aware' consumption. Hence fair trade remains a valuable yet very minor alternative to mainstream consumption patterns, and the prospects of it becoming the norm are very dim.
I would argue that FOSS faces similar problems. Using FOSS implies not only caring about the product itself and its direct physical characteristics, but also about other features imbued in social relations: the sense of community, the collaborative production process, the close contact with the producers of software, the non-immediate benefits of freedom... And as in the case of fair trade, these benefits are not immediately ascertained by consumers who are constantly pushed to make consumption decisions based on the diad of price and quality.
My point, then, is that when we establish goals and expectations for FOSS we might be too ambitious given the context in which it operates. This is not to say that there is not a lot of room for improvement, or that the obstacles that we face are unsurmountable. The road traveled clearly shows how much can be achieved. Yet at moments of despair we should definitely keep in mind that will and organization are not enough to succeed in a capitalist economy. And, moreover, we should consider if some of the changes that we want to see in the world of software do not require other broader social changes, and whether we should not bring our struggle to these other areas as well.
Report from the X-Force group says attackers are using TOR to hide their crimes
Future Firefox extensions will be compatible with Chrome.
Better read this if you bought your computer before 2011
Users should upgrade to the new version as soon as possible
Xen project announces a privilege escalation problem for Qemu host systems
Attackers can compromise an Android phone just by sending a text message
PC vendor will pre-install Ubuntu on portables in India.
More embarrassment for Adobe's embattled multimedia tool
Mozilla’s script blocker add-on could be putting malware sites on the whitelist.
The Internet community officially banishes the notoriously unsafe Secure Sockets Layer protocol.