The Meaning of Open Source

Like many Linux Journal readers, I have been upgrading my Gibbons to Herons recently. And like many readers, I imagine, I have been finding a few little challenges along the way. That was no surprise, since it's pretty much par for the course when carrying out a major upgrade. But something else did surprise me, although in retrospect I see that it shouldn't have.

To begin with, I tried to fix things that the upgrade threw up on my own. I reasoned – somewhat optimistically, perhaps - that it was just a matter of applying some logic. But then I realised that this was a stupid thing to do – real closed-source thinking. After all, one of the central ideas behind open source is that if we collaborate, and build on the work of others, less effort will be required from each of us, and the end-result will be better. What was the point of re-inventing this particular wheel if others had been there before me?

So I began searching online for solutions to my various minor difficulties. And I was amazed at what I found. In every case, others had had similar problems, and in every case people had offered helpful suggestions as to how to fix them. It was a wonderful vindication of the entire open source way, of people helping each other by passing on their personal discoveries.

But as I searched around, something else became clear: that finding this information is not a trivial exercise. First, you need to formulate your search engine enquiry very tightly, otherwise hundreds of false positives are thrown up. And even then, the discussion threads that deal with your problem are long, winding and branching; following the right path through the explanatory labyrinth is a challenge, and it often took me a while to find the discussion that led to the suggestion I needed.

It's something of a truism that a strength of the free software community is that it will help people with the problems that they encounter. And as my own experiences showed, often it's not even necessary to seek that help, since others have already posed the same question in the past. But equally, it's clearly unrealistic to expect general users – especially newcomers to the world of free software – to take this path. It's easy to be overwhelmed by the information out there, and hard to find exactly what you're looking for.

That got me thinking: given the amazing resources that are available online, how could we make it easy for anyone to find things? One obvious solution would be to create a central database of knowledge – a kind of Wikipedia for free software – where everything is linked together logically, and laid out in a way that people can find what they're looking for with ease.

But that's neither realistic nor particularly desirable. It would require a huge amount of effort from volunteers whose skills could be more usefully applied elsewhere in terms of solving new problems rather than rehashing old ones. Moreover, it seems a terrible waste just to ignore the huge body of knowledge that already exists out there. What we need, rather, is a more intelligent way to search through what we've got – one that can respond to any kind of naive question posed by beginners.

There are two main issues here. One is the question of intelligence – of search engines that “understand” what we are looking for. The other is how the search is framed. At the moment, we typically throw in a few keywords to a search box; even if we pose it as a sentence, it is not much better in terms of the richness of the query. Maybe we need new ways – new interfaces – to help users, especially non-technical ones – express themselves more usefully as far as the search engine is concerned. That, in its turn, would allow exactly the right information to be pinpointed more easily, avoiding the need to go sifting through the hundreds of Google hits that are typically turned up.

These kinds of capabilities are typical features of what is generally called the semantic web. Despite interesting experiments like Freebase and Powerset, it's clear we're still a long way from realising that idea. Maybe the free software world should be doing more in this space, since it stands to gain more than most from the boost to search capabilities it implies. As a start, it might encourage researchers and companies active in the field of the semantic web to use the vast, chaotic body of knowledge about free software as a test-bed for their ideas and technologies. They would get the best beta-testers in the world, and we would gain better access to that rich mine of information.

Comments

Comment viewing options

The comment you make about it being somewhat difficult to define search terms that will yield a targeted list of results is universal. Even with non-open source things like programming API's the difficult part in figuring out how to do something is correctly guessing what the supplier decided to call the feature you need. This is true whether you are talking about GNU, Microsoft, etc.

It was much easier to track down the sort of information you describe when most of the discussions that are now strewn about hundreds of Web forums using dozens of interfaces were instead conveniently located on Usenet.

I've been thinking about and building semantics aware software for several years. The truth is, it most likely won't be THE solution. Much has been written about the promise and disappointment of semantic support for information retrieval and I won't repeat it here. At the same time there is undoubtedly a persistent and likely even growing need to be able to cut more efficiently through a lot of redundant "information" and get to the required "answer" faster. Just ask yourself: When does clarifying a "problem" turn into its "resolution"? How often does the apparently "wrong" advice help to understand and thus isolate the "real" problem? I believe that while a specific solution, once found, might display some linearity and perceivable logical consistency - the overall process of discovering the winning problem-solving "methodology" is essentially a chaotic process. Guessing, trying and erring, making analogies, constructing alternative models (descriptions) of the problem - they all are necessarily part of what we usually do when tackling with these issues. The documented logs of these processes (forum and mail-list threads) will always remain as diverse, seemingly unfocused and confusing to a newcomer as they are today. To be successful, an initiative in this field needs to do away with AI-era and semantic-web wishful thinking. Like any good open source project this demands to find the balance between centrality and distribution, innovation and usability, diversity and integration. Only a combination of several complementary methods and related efforts for organizing and retrieving "how-to" and "problem-solution" oriented knowledge-bases might eventually be able to accomplish the task.

It's the lucky genius who has some degree of autism that can keep at the search rephrasing until the result comes up trumps or not at all.

I remember an article back in the mid 80's on using Algol to embed ordered pair fuzzy logic values to enable natural language searches of corporate data. It worked really well, as the domain of knowledge was limited to the functions of the corporate entity, and the inquirers all knew what they were asking for.

But with general purpose computing problems, it often takes an expert to work out what the search question terms should be. Where is the root of the problem. Is it the application, the permissions, some underlying drivers, unsupported hardware, hardware not working, or a faulty cable.

Knowing how Windows is structured, with Windows problems we can often boot up a live Linux CD and use Linux to figure them out, but with Ubuntu, what is the use of booting up SUSE Live, when Ubuntu uses different program versions, boot procedures, or even library folders. The problem may be solved under SUSE Live, but there is no translation possible to Ubuntu unless we are very expert in both systems.

My response to these sort of user queries is to take them along to a user group session in their local area. After all, Linux is at the point in time for the number of users that the MS PC was when PC user groups were the best way to get help.

Expanding on this, it would be good if each local group had a message board for problems and solutions, maybe linked to www. This would mean people were talking to someone who they could meet, and even show what the problem is. A small message board like this would be easier to make sure that there were no unanswered problems.

How many time have you talked to someone in your physical world about problems with non computer stuff like cars, vcrs or washing machines, and worked out the solution to the problem, and never been on the www. Lets start another revolution. People Linux Power.

I had problems installing heron. Around the same time I came across the articles about the SSL foul up. I think more effort needs to be placed on structure for ubuntu. Maybe they are getting carried away with ubuntu hype and are not doing the basics.

My realtek 8185 wireless card worked flawlessly on 7.10 but 8.04 had no drivers for the same card and nobody noticed or thought it was worth mentioning that support was dropped...if that was the case. I used to recommend ubuntu to linux-curious newbies, now I don't. I think many distributions now overhype their offerings. Previously I simply accepted that it was amateur and fixed it with help from others on the web, now with raised expectations I assume it works out of the box. Someone can now quote the old ASSUME joke.

I do not understand the bad feelings that you and some others manifest against Ubuntu. You - and others - complain that it (Ubuntu) receives too big a share of press coverage. You, in particular, seem to have already posted elsewhere in Linux Journal a similar complaint (if my memory serves me well).

Next time, you - and others - should think about what Ubuntu represents for Linux and the open-source /free software movement. Think about how it has helped the "cause", and think about the percentage of "freed" machines it is installed on. I said before, and I will say it again, Ubuntu deserves *a lot* of credit, and it deserves every positive square inch of press it gets.

I am *not* myself a Ubuntu user. I am typing this now on a W2K machine (argh!), and my other machines are SuSE. However, I do not go about whining just because "my" distribution gets less coverage than Ubuntu.

Stop being childish, learn what you can from what you choose to read, and try to contribute with some sort of positive criticism.

These bloke only seem to write about Ubuntu, None of the other Distros, including mine, seem to get a look in. This magazine should be called Ubuntu Journal.

These people are supposed to be Journalists, writing about Linux in general, not spending all their time writing about Ubuntu. I get it that Glyn Moody uses Ubuntu, and that he likes it. It's not, however his job to market Ubuntu for Canonical, it's his Job to write about Linux in general, hence the title of the magazine "Linux Journal"

I notice that Glyn Moody didn't allow my response to him get posted, probably because my comments about them turning this into Ubuntu Journal, instead of doing their job, as Journalists, and wriring about Linux in general.

I get that you have an opinion about Ubuntu, Linux Journal and Glyn Moody. I respect that. Opinions and perceptions - they are personal, and I cannot criticize you or anybody for having them.

In this spirit, I am leaving this debate here. I also have my opinion and perception, which differ from yours, and that is not bad. I am thankful to have been in touch with the open-source / free software ideas: it is one of the few "places" in this world where there is respect for everybody else's positions even when you/they disagree.

So, I'll stick with my view, you stick with yours, Linux Journal and their journalists with theirs. And, following my own advice, I will take whatever I can from what I *choose* to read, and I'll try to give the best I can back to the world. Just like Ubuntu - not a perfect thing, not the only thing, but surely a good thing. I wish more companies were more like Canonical - not perfect, not the only one, but surely a good one.

I daresay you would be saved most of your googling for answers if the Ubuntu team would divert some of their overheated-hype resources into writing comprehensive release notes, as the other major distributions do. A distribution with the resources of Ubuntu should be ashamed of their skimpy release notes. See how Fedora does it, for one example:http://docs.fedoraproject.org/release-notes/

It seems a more sensible option than re-engineering the entire Internet.

I daresay you would be saved most of your googling for answers if the Ubuntu team would divert some of their overheated-hype resources into writing comprehensive release notes, as the other major distributions do. A distribution with the resources of Ubuntu should be ashamed of their skimpy release notes. See how Fedora does it, for one example:http://docs.fedoraproject.org/release-notes/

It seems a more sensible option than re-engineering the entire Internet.

One thing I noticed that when I post something at ubuntuforums.org, I can Google for it right away, and usually it appears near the top of Google search result. Posts I made at other places take days/weeks for Google to index, even then, are buried deep in second/third page of search result.

Also, in this age of information, people should have the basic skill of using logical operators in Google search such as AND, OR, and exact phrase with "", as well as the skill to skim through the short preview text in the search result to find the right context.

I just bought my wife a Dell 1420N and put Hardy on it, super easy to use, and she has "tech support" 24/7 :-) I'll do my brother-in-law's next, his house is just 2 miles away.

Ease of finding help is the one reason I often give to Linux and FOSS friends as to why Linux and some open source applications are not yet ready for the average non-technical computer user. While it is often stated that the superiority of using FOSS is that "users can look under the hood" or "patches are issued faster", the fact is that neither my mom nor my other family members have any interests in looking under the hood and I have no interest what-so-ever in offering "over the phone" tech support when my brother-in-law can't get his new printer working.

That being said, I suggest FOSS where it provides benefit ( my wife uses Firefox, Thunderbird and OpenOffice on her Windows XP laptop ). And right now I am upgrading MY Ubuntu Workstation to 8.04.

My father's "girlfriend" (they're both in their 80's) was given a PC by her son-in-law. He'd installed Windows ME on it along with some virus protection program (I forget whether it was Symantec or McAfee. But she kept having trouble with viruses anyway. He received phone calls from her at least once each week because her PC would be slow, the printer would stop working, it would freeze....

So on one visit, I brought a larger drive and a copy of OpenSuSE Linux. I formatted the new drive with a partition for Windows and one for Linux, giving her about as much space as she'd had before for the Windows partition, but a new, larger partition for Linux. I used the installation disc she'd had and installed Windows 98SE (and did NOT "upgrade" to ME), then installed Linux. I made the default OS Linux, but DID give her the option of being able to boot to Windows, IF she caught it within 2 seconds.

I asked her what she did with her PC, then made sure she had Open Office, Firefox, Thunderbird, and mplayer all working. During installation, her printer was found and configured correctly, and I deselected some programs which I knew she'd never use (such as inkscape) as well. I moved all of her data to her "home" folder, and showed her where everything was. I even downloaded some icons and themes which made her Linux visual experience more similar to her Windows visual experience, just to ease the transition.

The result is that, except for upgrading her to a new PC last year (including an update to a newer OpenSuSE), she's only called me thrice for technical help over the course of 3 years. One of those was because her grandson couldn't run his games. (It's my opinion that HE was the source of most of her computer virus infestations anyway.) And one was because they FINALLY got DSL.

She's happy with her computer, she does everything she used to do, she doesn't worry about viruses, and her son-in-law thanked me because he's not getting phone calls from her to come fix her PC anymore. Oh, and when I did the upgrade this last fall, I didn't even reinstall Windows. She doesn't miss it one bit. I left instructions on how to do an update, but I don't know if she ever did one. Nevertheless, I don't worry nearly as much about the vulnerability of her PC.

I agree with what you have written, and specially with the fact that answers are there, only the efforts for finding them are required - and they better be good.

Imagine, if all the poster and community collaborators followed a simple rule:
Whenever a problem is found and you seek an answer in a mailing list/thread, do conclude the post with the final result.

For example, if I get stuck somewhere and I end up posting my problem, it is highly probable that community would respond and I would find my answer - sooner or later. Also, even higher is the probability that someone else would also trip on the same problem. Wouldn't it be great if after finding my answers I had posted all the necessary observation and steps as a summary of the thread? Even that would have been archived along with the thread.

That requires a community lead support from all collaborators - where corroborators are not just the developers or subject experts, but novice and early users who face a problem. And, this is a slow but steady pace task.

Trending Topics

Webinar: 8 Signs You’re Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
11am CDT, April 29th

Join Linux Journal and Pat Cameron, Director of Automation Technology at HelpSystems, as they discuss the eight primary advantages of moving beyond cron job scheduling. In this webinar, you’ll learn about integrating cron with an enterprise scheduler.