• Home
  • Assertions
  • Poetry
  • Programming

Record and Reverie

General things I find interesting

Feed on
Posts
Comments
« Perian Woes
Perian 1.0 Released »

Open Source Attitudes

Jun 19th, 2007 by Graham Booker

With my recent work on Fire, Adium, Perian, and A52Codec, I have come to realize several misunderstandings concerning open source software.

Ask anyone involved in Open Source Software (OSS), whether it be the users or the developers, and you will find there is often a disconnect between the two groups. The users are upset with the elitist attitudes of the developers and the developer are upset with the whining of the users. Why does this happen? The answer is simple, people are greedy.

The user’s perspective is simple to relate. The user is used to software made by a company. If they should find a fault with such software, the company has people paid to calmly acknowledge the customer’s concerns, and pass the information on to the developers who work to resolve it. The user sees a kind response, and a fix or requested feature usually shows up in the next version or two. When the user does the same to an open source developer, they often get a snide remark or no reply at all in return. The user doesn’t understand this, because the user doesn’t understand OSS.

In order to truly understand OSS, one must look at the perspective of the developer. Developers who works for a software company are paid to work, and so they are willing to work on projects they either dislike or even hate. They do the work because the dislike/hatred for it is worth the compensation they receive. The OSS developer doesn’t have this compensation, and so the motivation is clearly something different.

The motivation for the OSS developer to release a program free of charge is typically a combination of one or more of the following reasons:

  1. The software uses another piece of code or library which requires the work as a whole to be released under an open source license (GPL being most notable here).
  2. The developer hopes to interest more developers to join his efforts.
  3. The developer fundamentally believes that all software should be free and is trying to lead by example.

Now, with these motivations in mind, consider the user’s request for a feature which does not line up with the developer’s interests. The developer does not receive compensation for his work, so that leaves only altruism. Stack the requests on top of one another, and the altruism is quickly depleted, leaving the developer to reply with a variant of the classic response “Do it yourself” or the kinder “Patches welcome.”

Upon seeing this response, the user tends to think, “I don’t know how to program,” or, “I don’t have the time,” and sees the developers response as elitist because they seem to be saying “I am better than you, so go away.” The reality is the developer is really saying, “I don’t care about that. If you want it, you will have to do it yourself, because I won’t.” It is like giving a random person a $20 bill, and he says that it should really be broken up into a ten, a five, 4 ones, 3 quarters, a dime, 2 nickels, and 5 pennies. Do you proceed to go out of your way to find a bank and make change for him, or simply tell him that if he really wants change, he can do it himself?

In my previous post, I mentioned the fiasco concerning the Perian beta. A private build was posted on our download site (without a link to it I should add), and macupdate posted it as an official build. They refused to remove it when we asked, as so we just deleted it from the server. Another user cursed at us, and posted the link to our semi-public betas. His attitude showed that of a user who thinks he and others are entitled to something more that we were offering without giving anything in return. This is like the stranger seeing you take out your wallet, pushing you over, taking your wallet, grabbing the $20, and saying, “What were you waiting for?” Would you be inclined to give this person anything ever again?

These are two examples of the greed users express. There are many more. Now, I must point out that these users are not representative of the whole, but they the most vocal. Many of the users are quiet and the developers never hear a peep. Only once in a blue moon does the developer hear from one who is truly appreciative. Perhaps, if the users were more grateful for the work the developers put into their free software, then maybe the developer would produce more than they already have.

P.S. If you ask me to do something in OSS and I don’t care about it, you will receive an estimate of payment, a no, or no reply at all. I only make exceptions for friends, and OSS developers who work on programs I use. Don’t expect anything more from another OSS developers either.

Tags: Open Source

Posted in Programming

6 Responses to “Open Source Attitudes”

  1. on 20 Jun 2007 at 4:07 pm1fgu

    As one very happy Perian user I now feel compelled to say, everybody connected to Perian’s development has enhanced my / our ( people around me) “quality of life” considerably. It makes Quicktime a lot more useful, than we ever hoped (srt and flv especially). So much more could be said, but here’s a sincere and big THANK YOU from one of those “quiet and the developers never hear a peep” endusers…
    I / We really appreciate it.

  2. on 21 Jun 2007 at 3:36 am2Daniel Henninger

    First off, let me say great article! I think you hit the nail right on the head! From my own experience, I’d like to add a couple of other things I’ve experienced.

    In many cases, not only is the OSS developer working on these projects with no compensation, but they likely also have a real job that takes up a good chunk of their time, and even some semblance of a “life” outside programming. There’s often a sense that folk feel like they are entitled to your free time. In some cases they also seem to feel entitled to the time when you are at your real job. At the end of the day, of -course- your real job that puts food on the table and your spouse or whatever takes priority over your OSS projects.

    But another reason I might add to the list of reasons to do the project is simply “because I think it would be fun”. A couple of my projects I tackled because:
    1. a chunk of people were asking for it
    2. i would probably like to use it too
    3. it sounds like a fun project
    Now when you are trucking along enjoying yourself and suddenly all you hear is “this is terrible because X is broken” and “I don’t think you did this right” or … you get the idea… Typically you can brush that off for a little while but it keeps chipping away at you until you start not finding things fun. That’s generally when I start saying “send me a patch”. I think we all take a lot of pride in our work and if all you hear is negative comments it’s really damaging to said pride. No one wants to work on something that they know is just going to cause complaints.

    I generally work alone on my projects but at some point it starts getting overwhelming and I start considering asking other interested developers to join. But then what happens? No one wants to help. (in some cases) Now it looks like you are involved in a lot of projects that have a lot of developers and that’s great. Me, I just don’t have time for some of my projects, but people depend on them, and so I’m stuck in this state where I feel like I’m begging people to help out but no one wants to stand up. Now, I’ll certainly say that folk are starting to trickle in and help, and that’s great, but there was a long period of time when I thought that some of my projects might die off because I’m just not likely to have time for them anytime soon.

    The ideal I think is of course the rare times when you have some company actually sponsoring/paying or your development. Then all of a sudden there’s a good reason to tolerate being asked to do things that aren’t fun/interesting. Nothing sucks more to me than having something come up which I know exactly how to do, but it’s sooo damned tedious to do that I might keep finding other things to work on so I don’t have to be bored. But if there’s a compensation, hey… why not… 😉

    Bah, sorry for ‘bother’ your post with such a long comment. =) Great post!

  3. on 21 Jun 2007 at 1:31 pm3vmarks

    This is an interesting blog entry.

    The author frames it as ‘users and their failure to relate to developers’ – but I think it illustrates ‘developers and their failure to relate to users.’

    When a developer says “submit a patch”,”can you add a developer to the project” or, “go do it yourself” the developer is failing to relate to his users. And they are his users. If he didn’t want them, he could have kept the program unreleased, or not distribute as a binary as a way of setting the bar high enough to weed out most users.

    But it doesn’t have to be this way. There are ways developers can relate to users without having an abrasive attitude.

    “I’m one person, doing this for the fun of doing it. If you can help, we might be able to do that work. If you can’t, I hope you’ll understand why what you’re asking for might be slow in coming.”

    That would be the right response.

    And for developers who lack the social skills to write it themselves, let them copy and paste from me.

    Rather than tell people their feature request is unimportant, tell them that they’re right. Their feature is a great idea. If they can contribute, it may get done faster. If they are unable, it may be a while.

    This way, the developer is acknowledging the person rather than dismissing them, without promising anything.

    Positive responses create positive feedback. Negative responses create a negative feedback loop. Responding with “submit a patch or do it yourself” is dismissive, and for non-developers is understood to be abrasive and negative.

    Most people I know, whether user or developer, would prefer to be in a positive feedback loop.

  4. on 21 Jun 2007 at 3:18 pm4Rob Braun

    The overall point of the article is valid and is easily understandable to a non-OSS developer. However, I have to take issue with your 3 point list of why people do OSS development. Let me rephrase your existing points:
    1) blackmailed
    For someone to do OSS development because a dependent piece of software forced them to, the developer must not be too bright. Every developer should be paying attention to the license of the software they use, and if it does not meet their needs, don’t use it. Other than a few high profile companies, I don’t see developers not wanting to do OSS development, but “oops, I accidentally used GPL code, I guess I have to participate in the OSS community now” hardly qualifies as a typical motivation for an OSS developer.
    2) lonely
    Again, a developer that is already doing OSS development may want to attract other developers to their project, but it is not a motivation to do OSS by its self. When I do development, I don’t think about doing a project and releasing the source because it will attract other developers.
    3) zealot
    I certainly think this is more common than the previous two reasons/motivations for doing OSS development, and it may account for why the source is released instead of doing something like shareware development. However, it doesn’t really address why the development is done at all, or why the particular project is being worked on.

    I won’t presume to speak for all the other OSS developers out there, but my personal motivations tend to be along the lines of:
    1) The project (either existing or new) has to fulfill a personal need. I don’t generally work on a piece of software in my free time, which I will never use.
    2) I have to enjoy working on the project. There are many projects out there that fulfill a need I have, but aren’t a fun problem/environment/codebase.
    3) I get a personal benefit from releasing the code and participating in an open development process. The most obvious of these is the software that I need (see #1) improves just by making it available to others. This happens through other people giving bug reports, suggesting features, and a lucky few projects actually attract other developers (in the scheme of things, this is a relatively rare phenomenon).

    There can be other intangible touchy-feely motivations, such as a sense of altruism, the good feeling of helping other people, contributing to the betterment of the field rather than wasting time watching TV, etc. But, at least for me, these are secondary benefits that came only after participating in OSS development. It’s kind of like a vegetarian that gave up meat for the health benefits, and then after the fact develops a sense of moral superiority over those that do eat meat.

  5. on 21 Jun 2007 at 7:21 pm5Asheesh Laroia

    There are some of us “open source developers” who write software because we want to accelerate our progress to a world where computers make sense and are useful tools. For those people, feature requests from users are considered helpful rather than painful. It is still true that these developers are typically developing for themselves more than their userbase, but they can come to value the community feeling that users can give.

    My experience with many GNOME projects (like f-spot) and some of the more geeky projects I use code from (like ctrlproxy) is that they have this sentiment.

    There are also many (many!) open-source projects (like alpine) where paid developers are creating a useful product for a certain audience (the University of Washington’s email users), and that project is still willing to listen to feature requests and bug reports from non-washington.edu users.

  6. on 05 Oct 2007 at 9:46 am6Ilgaz

    Open source developers certainly think users are somewhat slave to their applications and by giving them away freely, they have right to treat them whatever way they wish.
    On Macland, there is a diferent issue. Open source Mac developers think Mac users are somewhat less technical, naive people who should have no clue about their application or operating system.
    When you go and mention an advanced problem, you are automatically treated as a complete moron because of the platform you are on. They forget many of us (switchers?) are coming from complete nerd operating systems such as Slackware and they have chosen OS X because it is a working open source OS with commercial choices which aren’t available on PC/Linux and will never happen because of the “community” and their alergy to commercial solutions.
    Not all of us have gave up Windows because we got “infected” by spyware or viruses or got so much impressed by “iPod”, the overpriced closed devices and got a “halo” affect. We have chosen Mac because of PowerPC G5, a real alternative to x86 and the OS X which is a very good mix of both Worlds.
    OS X open source developers and real supporters (e.g. artists) should stay on their IRC channels and log them. They should try to simulate a professionals feelings when they get treated like that just because the guy happens to use OS X.
    Some of us have chosen NeXT OS along with legacy Carbon to use in professional environment, not like we were so much impressed with “easyness” or we don’t have brain to use another OS.

  • Recent Posts

    • Google’s Analytics Mistake
    • Switching back to Safari
    • Apple has become the new Microsoft
    • Sapphire Plugin
    • Key Fixed
    • Sometimes you just got to laugh
  • Archives

    2022
    April 2022 (1)
    2021
    May 2021 (1)August 2021 (1)
    2020
    March 2020 (1)
    2019
    November 2019 (1)
    2018
    June 2018 (1)July 2018 (1)December 2018 (1)
    2017
    January 2017 (2)June 2017 (1)August 2017 (1)
    2016
    June 2016 (1)August 2016 (1)
    2015
    January 2015 (1)February 2015 (1)December 2015 (1)
    2014
    June 2014 (1)July 2014 (1)August 2014 (2)
    2013
    February 2013 (2)March 2013 (1)April 2013 (1)June 2013 (1)November 2013 (1)
    2012
    April 2012 (2)May 2012 (1)June 2012 (1)November 2012 (1)
    2011
    January 2011 (1)October 2011 (1)November 2011 (1)December 2011 (1)
    2010
    February 2010 (2)April 2010 (1)June 2010 (1)July 2010 (1)August 2010 (1)September 2010 (1)October 2010 (2)December 2010 (3)
    2009
    January 2009 (1)February 2009 (1)March 2009 (2)May 2009 (1)July 2009 (3)September 2009 (1)
    2008
    January 2008 (1)February 2008 (4)March 2008 (1)April 2008 (6)May 2008 (1)June 2008 (3)August 2008 (1)September 2008 (2)October 2008 (2)December 2008 (1)
    2007
    January 2007 (1)February 2007 (4)March 2007 (5)April 2007 (4)May 2007 (1)June 2007 (6)August 2007 (3)September 2007 (3)November 2007 (3)December 2007 (4)
    2006
    January 2006 (4)February 2006 (10)March 2006 (4)April 2006 (6)May 2006 (2)June 2006 (4)July 2006 (1)August 2006 (1)September 2006 (4)October 2006 (6)November 2006 (3)December 2006 (3)
    2005
    October 2005 (6)November 2005 (13)December 2005 (1)
    2004
    February 2004 (2)March 2004 (1)April 2004 (1)May 2004 (6)June 2004 (6)July 2004 (3)August 2004 (2)September 2004 (1)November 2004 (5)
    2003
    September 2003 (1)October 2003 (3)November 2003 (1)December 2003 (1)
  • Categories

    • Breakaway (5)
    • Family (4)
    • Friends (2)
    • General (151)
    • Nature Pictures (8)
    • Politics (2)
    • Programming (41)
    • School (11)
    • SysAdmin (8)
    • Teaching (2)
  • Tags

    AC3 Ads Code Frontrow Java Objective-C Open Source Perian Perl permissions plex plugin RSS Sapphire School Servers ZFS

  • Pages

    • Assertions
      • Female Friends Who Won’t Date You
      • Not Dating Friends
    • Poetry
      • Curtis Staying Over
      • Girl Questions
      • Scaring Girls Off
      • Summer’s End
    • Programming
      • Fire Development
      • Kyocera Ringtone Converter for the Mac
      • Perian
      • Text Compression

Record and Reverie © 2022 All Rights Reserved.

WordPress Themes | Web Hosting Bluebook