Open Source Advocacy The Right Way
[vmlinuz] writes "With a rapid succession of people moving towards Open Source, advocacy and evangelism is increasingly important in helping organizations to move over. The O'Reilly Network has begun publishing a series of articles about Open Source by Jono Bacon that teaches how to approach advocacy sensibly and more productively." From the article: "Although Aristotle developed his message many, many years ago, the concept of optimizing how we talk to people has developed further throughout history. From Aristotle to Heraclitus to Friedrich Nietzsche to Helen Keller to George Bernard Shaw, many people have advocated new thinking in times of rabid opposition."
When It's Linux, it's an advocacy, evangelism campaign extolling the virtues of open-source.
When it's Microsoft, or fill-in-evil-company, it's smear campaign spreading FUD and lies in destroying the open source way.
Nice doublespeak here.
Offtopic?
Sheesh! Some of the moderators around today really need to get a clue on what all the drop down options actually mean!
> Empirical evidence has shown, time and time
> again, that low level languages like C and
> Forth produce more efficient, faster, and
> easier to maintain code than today's so
> called high level languages.
How's that? So it's actually better to manually malloc and free memory than to let a GC take care of it? Surely you're just jesting!
As someone who's currently wrapping the Evolution C API in Ruby, I can assure you that writing Ruby code is much easier than writing the corresponding C code.
I'm not sure why this would be considered a "Linux strength",. since all the good high level languages - Ruby, Python, Perl, etc - all run on Linux, also.
The Army reading list
The reason higher-level languages are used is because man-power is more expensive than CPU-power.
.NET or whatever, then that's the way companies will go with software. The thing is that if it's not out there, it's not bringing in anything.
.NET any day, but it's not about preference, or 1337 skillz, or good programming conduct. It's about the bottom-line.
If it's easier, and cheaper, to plug blocks together using Java,
I prefer C and Perl over Java and
I think it is a good thing, and high time that this subject was approached in an intelligent manner.
Personally, I am no fan of Linux/OSS. One of my main oppositions to it has always been the 'culture' surrounding it, and the way they grate on my nerves with their nouveau-hippy attitude.
I really wouldn't mind taking time to look into what is going on, and possibly presenting OSS software at work. Recently I did recommend Thunderbird as a Eudora alternative, when they raised the Eudora license fee, and that was seen as a real 'stretch'.
But, I don't want to be associated with the rabid fans of OSS...the ones who talk about how Microsoft is 'evil' in our planning meetings. See, it is really hard to be taken seriously when you are calling a company 'evil' for trying to make money...when we are sitting around a table talking about how WE can make money. That is what businesses do...and rather than looking at an extremely successfull business as 'evil' we see it as something to emulate.
Before we will use it extensively, it has to change to be something that is supported by professionals...not nut-cases with their anti-Microsoft fire and brimstone speeches.
No reason to lie.
I think you need more than simple healing to save a crashed Windows system... Miracles might work..
Bits of News Giving you the latest bits.
My only explanation for your post is that where you said high level you meant low level, and vice versa. Could you reference the evidence that C and Forth are easier to maintain than higher-level languages (faster and more efficient they might be, but that is very rarely a performance criteria in modern software)? C is, in my experience, more likely to have bugs and security defects, and be far less maintainable, as well as more likelt to be unsafe. I agree that bad code is bad code in any language, but since C seems to tolerate it more than other languages, surely that shows it is a problem with C as well as the developer?
There is a reason that the trend has been for higher and higher level languages, and C is a lone aberration that bucks the trend. We don't program in assembly much any more for the same reason that one day we won't program in C much any more. For a kernel, C is obviously the right language, but for most other applications it is an odd choice than can usually only be justified because it is the language that the developer is comfortable with.
As the OP said, would you drive over a bridge designed this way? And I would ask, would you fly in an airplane designed this way?
You can have a top-notch techonlogy and the best minds in the world working on R&D and you can still fail if you do not satisfy customer requirements or needs or both.
Engineers do not get one thing: no invention can be spread around the world until it can be sold. In this world marketing and sales are just as important (if not more) as R&D and staying on bleeding edge. If you have a Linux box that cannot meet my needs, why the fuck would I buy it? Because somebody with a Ph.D worked on some programs in that box? Give me a fucking break.
Everybody is screaming about Linux and how great it is. I do not see it. Dell sells cheap Wintel boxes because that is what customers want: something cheap and easy. IBM invested money in new technology along with research; it sold its PC division to Lenovo. HP and Compaq had R&D... Now their joint venture is swimming down the toilet. The point is that it does not matter how cool YOU think Linux and Open Source are. They're not going to spread around the world unless people find them useful. No advocacy will help. You can write to tech magazines and give lectures to college students and that is fine; however, you won't be able to succeed until people start saying, "Wow, this Linux thing is really want I need." The keyword is "need." Not "want" or "cool" or "wow." Need for a cheap, effective tech solution is what can and will drive Open Source. This is pure business.
In this world everything is sold, not bought. Sell an Open Source solution to the public and you shall succeed. Nobody gives (or should give) a flying fuck about the technology and what it is inside. If you really want to push Open Source, show cost savings, productivity increase, and fewer losses contributed to the fact that Open Source is not Windows. Then people will talk to you :)
Keep it simple... Don't go into things like 'linux is only a kernel'.
Tell hime why it is good, i.e. not being force fed things by the marketing department of a certain big company but having choices (you could briefly mention the many distro options as an example of choice).
Mention that good design is leading the developmend instead.
Also think why the hell you used it yourself in the first place and more important why you kept using it. (Be carefull this answer doesn't get to geeky)
Jeroen
Secure messaging: http://quickmsg.vreeken.net/
Now, I think the problem really is that the "High Level Languages" make people think that they are programmers when they are not. People who have not developed the skill necessary to write good code in any language can jump in and produce results. Those results might be low par and hard to maintain but they have been produced, and that is what the folks with the money want. They don't care that the code is sloppy and poorly designed. They just see the program working. Later on down the road they might care when they have to spend double the money to maintain the beast. But that is for another day.
> What's Ruby written in?
Why was Ruby written?
The Army reading list
But, I don't want to be associated with the rabid fans of OSS...the ones who talk about how Microsoft is 'evil' in our planning meetings.
But Microsoft *IS* evil, aren't they?
The problem is, that isn't enough. Most people don't want to hear why they shouldn't use (insert product), they want to hear whey they *should* use (insert alternate product)...especially when the first product (in this case Microsoft software...or commercial software in general) has, for better or worse, become the standard.
This is, to me, the beauty of Firefox. It's one of the first open source products that performs just as well as the standard (IE), and is just as easy to use. It's polished. It's not just something for geeks to use...my mom uses it. Granted, I had to tell her about it, but then she got it, and she uses it. For the first time, non-commercial software is beating out commercial software for normal desktop users, not just geeks, not just servers. Now they have a product they *should* use, not just one they *shouldn't*.
So I excitedly downloaded and burned some Mandrake 9.1 CDs, installed (amazingly painless), and entered this whole new world of Linux and Open Source.
There are many ways you could describe my reaction to the yawning gulf between expectation and reality: "furious backlash" would be one; "blind seething rage and betrayal" would be another. The catalogue of disasters and frustrations that followed left me cursing the names of the people who recommended Linux to me as this wonderful cure-all and utterly *hating* Linux with every fibre of my being. I actually stuck with it for a few more days and, after deciding that linux was the most pointless project I had ever had the misfortune of dabbling with, returned to the comparatively hassle-free bosom of Windows.
Luckily for me, the story didn't end there and some persistent and random lockups in Windows led me to re-install Linux (Mandrake 10, this time around) to see whether it was hardware or driver related (a dodgy fan on my graphics card, for what it's worth). This time around, with my expectations greatly lowered (in fact, by this stage, Linux had improved unrecognisably, and I was very pleased with its progress), I fell head-over-heels in love and haven't had Windows installed since.
But it could so easily have gone the other way; it is hard to explain just how much the hype followed by disappointment soured me on Linux at the time (an understatement!) and it is my firm belief that if I had been forewarned about the things that I could do in Windows but not in Linux, I would not have reacted so sharply. So now, when "recommending" Linux to the curious, I usually start with a list of negatives (some hardware may not work; you may not be able to run your favourite games; don't expect installation of software to follow the Windows model, or you'll be in a world of hurt) before extolling its non-pragmatic virtues ("It's an operating system with love in it!"). It's heartening that quite a few people are still willing to give it a shot even after hearing my litany of gloom :)
So in a nutshell, don't be a blind fanboy, or you will be Open Source's worst enemy; let people know that there will be concessions to make, but that many people still feel the switch is worth it. Make a special point of mentioning just how different and customisable it can be (show them a variety of WMs, from the absurdly minimalist (Ratpoision) to the wonderfully glitzy (Enlightenment) - this diversity and difference from the comparative homogeniety of Windows usually gets people curious, in my experience). Don't oversell it, as this is just a recipe for disaster.
Oh, and this post mainly deals with the casual home PC user, so might be a little off-topic - apologies for that :)
I listen to what people are tell me about their computer experience:
It still amazes me the number of people who are willing to ditch Windows completely and learn something new. As long as you clearly explain the pros and cons of running Linux, most people are willing to try Linux. Where you see Linux get a bad rap is when a flaming OSS zealot installs Linux over a crashed Windows installation without first explaining to the user that their previous system, as they knew it, will be completely gone.
And contrary to popular /. opinion, Linux is not always the best choice:
I think the key to being a successful OSS advocate is simply to listen to needs of people. Many idealistic people would run FOSS software, but don't because they don't have the requisite knowledge (or time) to understand it. That's where a good OSS zealot can help people out. But at the same time, we have to realize that for those users who rely on Windows-centric "features", installing Linux would not be doing them a favor.
The society for a thought-free internet welcomes you.
Obviously, though, this is something that can be debated until you're blue in the face. But discrediting higher-level languages (I assume you mean Java, Python, Perl, C#, whatever) when there is clear empirical evidence of their benefits, simply because you do not see their benefits as benefits, doesn't seem right.
As for the "college profs" comment, most that I've met won't "throw stuff at you". Hell, the programming languages guy I have likes C, and argues for its use where efficiency is needed, to the detriment of development time and code safeness. Many professors like functional languages, and it's hard to blame them, given the terseness of the languages and their uses in reasoning. But, in general, they gain little from "pimping the new stuff". At least here.
Who, aside from perhaps RMS, is calling MS evil for trying to make money? A business can be successful and ethical. People call MS evil for doing evil things in order to make money, e.g. fraud (Windows testing for the presence of DR-DOS and emitting a FUD-generating warning message).
If, OTOH, you consider any action that makes money good, our ethical notions differ too much for meaningful discussion.
The irony, of course, is that the most rabid of open-source advocates are the ones making the least contribution in terms of code and money. The Linuses and Allisons and Behlendorfs are the one who perssuade with their code, not theirn loud mouths.
If a civil engineering company offered "proprietary" contracts, where all work was conducted in secrecy and was not subject to inspection, then this would clearly be unacceptable. It is equally important that software be subject to similar inspections, and therefore that the source code be made available. Remember, "Open Source" does not mean "freely redistributable". A private company could tender for a contract and produce the software that the government can use and have the source code for, without that software being downloadable from SourceForge for all to copy and use.
If you want to campaign for "Free software", then that is a different matter. I respect that point of view, but it's much harder. Anything worthwhile is probably going to be difficult.
I disagree regarding your comment: "opposing something in the technology world because of the culture surrounding it, and not because of any concrete technical reason, is simply irrational."
.6 release, but it will be going beta soon. We should scrap our current plans and use this, because Microsoft is Evil! "umm..okay, let's move on"
If I am at a meeting, and a few projects are being presented, the typically come in three flavors:
1 - This project may not be exciting, but it is based on technology that is popular (Microsoft), and we haven't been burned by this yet. This project will be probably be successful. "Okay...sounds good, let's do it"
2 - We need to stop using Microsoft! We shouldn't support Exchange! There is this really great project on Sourceforge, it is at a
3 - Umm...I just need to go to the bathroom.
I have been VERY successful in getting my projects accepted. Because they may not be exciting, and they may cost us a little bit of money...but a proven track-record goes a long way.
I made the choice to base most of my development around SQL Server, back when MySQL was being pushed, but the tools just weren't there. Now we have so many projects using SQL Server, it is sick. And when we are looking for things from outside vendors...lo and behold, many are written on top of SQL Server (yes...stored procedures really are a good thing.)
So my projects are considered 'solid'. I want to disassociate myself from the OSS camp as much as possible, because they are seen as a bunch of people more concerned about the technology (and culture) than the bottom line. And the people who make the decisions on where to spend the money? Well, they ONLY care about the bottom line.
No reason to lie.
I demand that my personal bridge engineers personally hand-select the grains of steel that they'll use to custom-design my unique bridge that won't use any of the last 5,000 years of bridge engineering experience. That's the only path to quality, you know. And back away from the libc, fella! If you won't hand-roll open(), then I don't want you writing my web browser.
By the way, what crack-smokers took you seriously enough to give you +5? Seriously, man, good job! That's one of the more successful trolls I've seen in a while.
Dewey, what part of this looks like authorities should be involved?
This letter by Dr. Edgar David Villenueva Nunez that the linked article links to is absolutely fantastic. I've never read such a good argument for open source outside of its founders. Nor have I read such a great and well thought out letter by a modern day politician. It makes me want to move to Peru.
I think that you all should take a moment to read through that so that you can remind yourself that open source is the "more correct" form of software development.
Both bridges and airplanes are designed this way. You think that a bridge engineer knows how to build cable? machine bolts? mix pavement? While he may chances are he just knows the details of each of those items. size, strength, weight, etc. An air plane is the same thing. A designer doesn't know the details of how a tire is made. They probably don't even know the details of how the rim is made or bearings, or axle. They do know the stresses they can take and how to fit them together as an interface.
Paying taxes to buy civilization is like paying a hooker to buy love.
I'm not in favour of evangelism or advocacy when it comes to Linux. The more fuss you make over something, the higher the skepticism and expectations and the bigger the backlash.
I prefer to use Linux, save money, mention or demo cool features of OSS software when the subject comes up, and be willing to install it if the interest is there but with no obligation beyond that (and with the original proprietary software left intact for them to go back to at their leisure). This is much the approach that any sane parent uses with children and food.
So far, my wife's used Linux for years, my parents use Firefox and my mother uses Thunderbird. I point out some cool features for them but they often find things they like that I may not even know about.
I think by as good as the parent simply means "offers the same features", that would include easy of use and computability.
Open Office doesn't have the same feature set as MS office. Maybe you consider that "identical to", but for most people of one program (or suite) lacks feature the other one has, then it isn't as good.
Particularly if you use those features.
There are lots of open source programs covering the same area as a commercial one, few are as good, or better. FireFox is a great example of one that is. OpenOffice is one that isn't, it doesn't really offer anything in the same area as Access for example (I hate Access, but lots of non-Technical, non-Database people use it a lot).
Or look at GIMP, it just isn't as good as Photoshop in terms of features and ease of use.
Open source software has come a long way, but the best way to keep improving it is to recognise where it still needs to catch up. Don't pretend it is all as good yet out of some misguided loyalty, keep pointing out the flaws so that it can get as good, then better, than proprietary software.
If you don't want to be associated with the rabid fans of OSS then don't associate with them. I've found that the people outside of the community don't know about the rabid fanaticism of some OSS zealots. Their only exposure to OSS is via news channels such as Business Week and CNN. They see companies like IBM and Novell putting their weight behind open source software and their curiosity is piqued. Since these people know I use Linux they come to me to ask questions and it's then my responsibility to discuss their concerns and clear up misconceptions.
In my personal experience the nut-cases are few and far between. Slashdot and usenet are about the only places that I see people foaming at the mouth about how bad Microsoft is. There are other forums where I read about how people don't like Microsoft, but those people can clearly articulate why they feel that Microsoft solutions aren't the right way to go for them. I meet plenty of people in other online forums, users groups, and computer stores who can see the benefits of OSS for what they are without being distracted by a handful of vocal teenagers.
Slashdot: Failed Car Analogies. Amateur Lawyering. Anecdote Battles.
Because technical excellence alone is not enough to gurantee survival in this world dominated by greed, self-interest and corruption. Sometimes the only language anybody speaks is politics.
That may have been true in the past but now things are different. There is a danger doing those cool things might become unacceptable in the future. Some time ago certain people decided to take it beyond your definition and spilled it over into a different world. Now the narrow interests are afraid of it.
Even if things do get out of hand you probably have the ability to continue developing your own tools. Not everyone has the priviledge to do that. Anyway there is no pressure for anybody to be an advocate. Different poeple do different things with open source.
I completely agree. I wish things were good but not everybody lives in an ideal world. Not everyone plays the game by the same rule and sometimes there has to be a struggle just to have the right to do simple stuff. For some the stakes are just too high to just not do anything about the happenings that are going on today. Just think of the big picture and you might understand.
People care about advocacy because computers, especially now that so many are interconnected, exhibit a strong network effect. The more people who use a given OS or architecture or whatever, the more likely developers will write programs for it and the more likely that costs will drop from economies of scale. Peripheral vendors and ISPs will support the most common configurations possible. That means if you want your life to have fewer computer hassles, you're better off recommending that others use OSes and such similar to the one you use -- otherwise you'll buy scanners that are unsupported, and your ISP won't give you tech support and if you need an obscure piece of software you might not be able to find it.
People do need to worry, at least somewhat, about what other people are doing, because what other people are doing usually affects the people observing, at least to some degree.
The individual is a part of a larger web, and the vibrations you send from your tiny part of the (metaphorical) web travel through it in ways not always perceived by you.
WRONG:
The #1 product in the market sucks. The company that makes it is evil. This free software you never heard of is the best. It is written collectively by hippies. Everything should be free, including YOUR products.
RIGHT:
The #1 selling product in the market is not the best in the market. If we implement [Linux, etc.], it will be CHEAPER, it will be MORE SECURE, it will produce LESS DOWNTIME, it is EASIER TO UPGRADE, you will increase your PROFITS by reducing costs.
This whole thread could be a case study for the article in question. Sheesh.
Don't blame me, I didn't vote for either of them!
Most people aren't software people. Most people do things with their computers. It's only geeks like me who like computers for the sake of computers. All the business people I work with have to use them. They simply do not care about anything other than their needs being met in the most timely, reliable and cost effective manner.
When advocating open source, what problem are you solving? I used to advocate open source solutions for individuals and companies, but now I just give options. I still include open source options where they are a good solution, but that's not always true. People who like to play the newest popular games should probably not be switching to linux. Part of advocacy is knowing when to shut up. Pushing a particular solution to all problems, regardless of requirements is a major turnoff to pretty much everyone.
person who has not in their vocabulary the words to decribe what it is you are trying to commnicate to them?
according to the article you have to speak in their language....
Hmmmmph....