Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming Software IT Technology

What Does It Mean To Be an Open Source Author? 89

lolococo writes to tell us that Laurent Cohen, founder of the open source project JPPF (Java Parallel Processing Framework), has decided to share what life is like for an open source contributor in general and little bit about what that means. "There came a time of coding, releasing, coding, releasing. The project started gathering some momentum, as a small community of users started to use it, but why was it not working in this case, or why did it not have this feature, or how could I do this, etc...? You get the drift. Oh my, now I had to start interacting with other folks! What was I to do? That started a (thankfully short) period of intense existential self-questioning. What was the purpose of this project? Why did I actually open-source it? I resolved this by deciding unilaterally that it would be a free contribution, for whomever would be interested enough to look into it. I also decided that it was my personal responsibility to support these brave folks into using the project, and to make it, as much as possible, a happy experience for them."
This discussion has been archived. No new comments can be posted.

What Does It Mean To Be an Open Source Author?

Comments Filter:
  • by elrous0 ( 869638 ) * on Monday June 23, 2008 @05:22PM (#23909579)
    No rent money *THIS* month either!
    • by bsDaemon ( 87307 ) on Monday June 23, 2008 @05:28PM (#23909669)

      No, it means having an always-accessable portfolio to show your skills without having to worry about making people believe you without proof, or "stealing" code from previous jobs.

      It means "experience" for high school and college kids so that they can work on things other than the rather useless examples in the sheltered setting of academia.

      At least, that's what it would mean if you leveraged it properly -- and that would mean further rent cheques from "real" jobs.

      hell, maybe it means turning that side project into a real job that generates rent cheques -- even if those are the really, really rare exceptions.

      • Good stuff, minus the cheap shot at academia.
        • by chromatic ( 9471 ) on Monday June 23, 2008 @05:38PM (#23909767) Homepage

          Good stuff, minus the cheap shot at academia.

          How many computer science or software development courses include anything resembling:

          • Interacting with real users
          • Changing requirements
          • Deployment, packaging, and releasing
          • Maintaining code for longer than a semester
          • Prioritizing requirements
          • Managing contributors
          • Triaging bugs

          To my knowledge, only a handful.

          • by Psychotria ( 953670 ) on Monday June 23, 2008 @06:02PM (#23910001)
            And that takes a lot of work. When I started my open source project it came as a bit of a shock. The first few emails I got from users were a bit of a thrill and spurred development. Then came support requests. And then every other point chromatic mentions. All of a sudden I found myself under "pressure" to implement features. It was not until I re-assessed what I was doing, and why I began doing it that the pressure lessened a bit (the project was to fill a gap and no project filled my requirements). I still listened to users, and fortunately most of the time their requests were things that I wanted to. But, at the end of the day, I was doing this for myself and I open-sourced the project just for fun and with the hope others found it useful as well.
            • Just wait. Open source software never seems to go away.

              Just the other day I got an "I clicked it but it won't install" email about a piece of software that works perfectly well if you read the documentation.

              The sad bit is that this software hasn't been actively developed since 2002 and I still get support requests fairly regularly.


          • I guess by that reasoning, a womb is a useless setting for a human embryo to develop. After all, the embryo gets no experience at all with such real-world tasks as breathing, walking, or eating.

            It's possible to cram so much learning into four years of college precisely _because_ things are set up so that students are not distracted with the kinds of tasks you list.

            • But as a real-life software developer, you're going to have to deal with maintaining your code, adding features, optimizing the code, and porting it to various operating systems.

              Most school courses require you to meet a fixed spec sheet, allow for terribly sloppy and inefficient code, and require no maintenance because they only last a semester.

              Yes, you learn, but to follow your analogy, in college, you might learn all the nuances of getting food to your mouth with forks, spoons, and obscure African eating

            • by chromatic ( 9471 )

              I guess by that reasoning, a womb is a useless setting for a human embryo to develop. After all, the embryo gets no experience at all with such real-world tasks as breathing, walking, or eating.

              False dilemma.

              I said that academic studies of software development rarely include the difficult issues which real-world programmers face regularly. That doesn't make academic studies bad.

          • Re: (Score:1, Insightful)

            by Anonymous Coward

            None of the good ones, because frankly: what you listed is not computer science. If you have been through a Comp Sci degree and think it is, it is a condemnation of your school or comp sci in general.

            Mod me overrated please.

            • by chromatic ( 9471 )

              [What] you listed is not computer science.

              I agree.

              Unfortunately, a lot of employers seem to think that computer science graduates make decent programmers, and a lot of schools do nothing to discourage that wrongheaded idea. Ideally, they'd stop. Until then, I wish they taught practical matters of programming as well.

          • Re: (Score:3, Interesting)

            by poached ( 1123673 )

            And I suspect if they included all those real-world lessons that we'll see far less CS graduates, from the sheer boredom. But I wish they had included those courses in my CS curriculum because now I would be doing something else, other than programming. I realized after I started working that programming for a small semester project is very different from programming in the real world and if I had gotten the entire picture I would have said, "this looks interesting, but there is too much stuff other than

          • I'm nearing the end of my (yeesh) 5th year of my CS degree, and I think the best experiences I've had which are anything close to real world are the practicum courses I've taken. I'm currently a project leader in my capstone class, and I have certainly run into many of the situations which you've described. We were handed a classroom scheduling application which was originally written in VB.NET (of all things), rewritten in C# (not much better), and is now being ported to Java (simply because that is the

          • by cromar ( 1103585 )
            Amen to that brother!
      • Re: (Score:3, Interesting)

        by zullnero ( 833754 )
        For me, it's 100% self-serving. I used no license whatsoever, so that's the best I can expect.

        Whenever I try out an app on a handheld that has some features that look suspiciously similar to my work, it makes me well up with self-delusional pride that, just maybe, that's my 45 minutes of actual work in there somewhere.
      • by elrous0 ( 869638 ) *
        I showed my portfolio to my landlord. He said he still needed a check or cash.
    • I take offense to that. Good coders deserve to be paid for the code they write.

      If the only motivation for open source was to have a shiny resume to get a "real" job, it would be a sad day indeed.

      Alain.

  • by EmbeddedJanitor ( 597831 ) on Monday June 23, 2008 @05:26PM (#23909637)
    Sure the money might come, but that takes time and tends to be erratic.

    People still expect some support, because you need that with software.

    • by bonefry ( 979930 )

      Just like any other developer?

      I think not ... as Alan Kay said, most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.

      The problem with being paid for developing software is that you're always implementing someone else's idea and most times the only motivation for going further is your monthly salary because commercial projects are usually boring as hell, and slaves are n

  • One word (Score:5, Funny)

    by UnknowingFool ( 672806 ) on Monday June 23, 2008 @05:26PM (#23909645)
    Groupies. Lots of groupies. In that way it's a lot like Islam. There WILL be 72 virgins around you. Unlike Islam, they will be no guarantees that they are female.
  • I'm working on a Free (GPL) audio application called Ogg Frog [oggfrog.com]. If you explore the site, you'll see that it's been there for several years, but there is no software to download.

    I have come down thoroughly on the side of The Cathedral in my development methodology, because I feel that The Bazaar doesn't serve the needs of end-users. It unnecessarily subjects them to buggy, incomplete software.

    I can see how The Bazaar would work well for highly technical users, for development tools, text editors and the like, but not for an audio application.

    I was up all night last night trying to figure out how to use OpenOffice to print address labels from a database. When I couldn't get it to work, I downloaded the 3.0.0 Beta, only to find that all the same bugs were still there [oooforum.org].

    It didn't appear to me that the label printing function had been touched by the developers at all between 2.4.0 and 3.0.0, with the exception of a native OS X print job dialog for the Mac version.

    Folks, this is a supposedly mature, full-featured and commercial-quality office productivity application, published by one of the world's largest computer companies [sun.com], yet one cannot do even such a basic task as printing labels from a database?

    That's just inexcusible!

    I've done quite a lot of work on Ogg Frog, but it's still in a primitive state, and there are lots of bugs. I fear that if I released it, not even the version I have now, but future snapshots, it would get uploaded to all the shareware sites, where it would be downloaded by unsuspecting novice users, who would find it unpleasant to use.

    That wouldn't serve their needs, and further, it would give me and my project a bad reputation. Quite likely I wouldn't get a second chance: my wife now flatly refuses to use Free Software, having had such bad experiences herself with Mozilla, The Gimp, and OpenOffice.

    I know that I have the greatest chance of success if I wait until I have something rock-solid before I make its first public release.

    Now, that doesn't mean the software isn't being tested, or that real end-users aren't giving me feedback. I have a small circle of testers, both end users and other developers, who are testing it for me - privately.

    And that's how I think every Free and Open Source Software project ought to be run.

    It does mean I get a lot of crap for not releasing yet, as evidenced by Kuro5hin's A Trolled Englishman [kuro5hin.org]. But it's a small price to pay for what I am confident will be my ultimate success.

    • by ArikTheRed ( 865776 ) on Monday June 23, 2008 @06:31PM (#23910335) Homepage
      Voltaire:

      Perfect is the enemy of good
    • Just because you have no idea how Open Source works, doesn't mean you have The Answers.

      The rest of us are getting along just fine without your mistaken insights.

      It didn't appear to me that the label printing function had been touched by the developers at all between 2.4.0 and 3.0.0, with the exception of a native OS X print job dialog for the Mac version.

      Folks, this is a supposedly mature, full-featured and commercial-quality office productivity application, published by one of the world's largest computer companies, yet one cannot do even such a basic task as printing labels from a database?

      That's just inexcusible!

      Here is the irrefutable evidence that you don't understand Open Source (and can't spell inexcusable). Clearly, the only people who care about printing labels are jerks like yourself who are uninterested in even reporting the bug, let alone contributing some code or other support to make it work. This is the point of Open Source.. the software is what *you* make it. Sure, someone else might be willing to write the code for you, but its up to you to let them know what you want and to provide some motivation for them to fix it. Whining on Slashdot is not such a way.

      • And I encountered other bugs that were reported on mailing lists back in the 1.x days, yet were still in 3.0.0 Beta.

        Looking through the OOo forums, many others have trouble with label printing as well.

        I don't think the existence of those bugs has anything to do with my failure to report - and in fact I did report the bugs just a few hours after I encountered them, in my oooforum post linked from my original comment.

        • by QuantumG ( 50515 ) *

          There's reporting "labeling is borked!!" and there is reporting "with configuration X, running version Y, I had problem T and this prevented me from doing real work".. but yeah, if no-one is interested in fixing the bug, then no-one is interested in fixing the bug.. It doesn't matter if Sun is backing the project or not. If they don't consider it a priority then its up to you to fix it. Step up. If you can't code, post on the mailing list that you're willing to help anyone who can to reproduce the issue.

      • by yabos ( 719499 )
        I'll give you the reporting bugs part, but do you have any idea how long it would take to even begin to understand how the OO code actually works? It's HUGE, and even figuring out how the printing stuff works would take a long time if you're supposedly doing it in your spare time. Sure you might be able to fix a few bugs that result in crashes if you really wanted to track down the problem, but implementing new features in a huge project like that is a monumental task for someone new to the code.
        • by QuantumG ( 50515 ) *

          Dude, speak for yourself.

          Picking up a new code-base quickly is a skill that many people in the Open Source community have.. and you will never learn it if you're just defeatist about it.

          • by yabos ( 719499 )
            I'm talking about something as big as Open Office. That's a huge code base and unless you have a lot of spare time it would take quite a while to figure it all out. Luckily most open source projects aren't that big.
            • by QuantumG ( 50515 ) *

              As much as I understand the point you are trying to make, I really don't think it is as big of a practical issue as much as it is a psychological one. All the people who contribute to the Linux kernel know maybe 1/1000th of the entire code base, because that's all they need to know. Same goes for Open Office or any other large code base. I remember fixing something in Open Office a few years ago.. I looked at the text on the dialog, searched the code, didn't find the text. That stumped me for about an

    • You might check out.. http://glabels.sourceforge.net/faq/ [sourceforge.net]

      There are also label templates for OpenOffice but I think the glabel program will do what you want to do.

    • Re: (Score:3, Insightful)

      by grumbel ( 592662 )

      I fear that if I released it, not even the version I have now, but future snapshots, it would get uploaded to all the shareware sites, where it would be downloaded by unsuspecting novice users, who would find it unpleasant to use.

      Thats what we have CVS/SVN/Git and friends for. Simply don't release it in tarball form until it is ready, instead just dump it into a public repository and be done with it. The repository will make sure that no shareware sites pick it up and that distris stay away from packaging it. It will also make sure that the end user gets that it isn't done yet.

      That wouldn't serve their needs, and further, it would give me and my project a bad reputation.

      It doesn't have to serve a need, it simply has to be there to take a look. If nothing else just to see that it is actually real and not just one of the thou

    • >>And that's how I think every Free and Open Source Software project ought to be run.

      Four years into it, a website, and no release? While that does sound like the majority of open source projects... I don't think that's a good thing.

      Please. If you can't put together something stable and usable after a month, then you are Doing It Wrong. Start with a small workable tool, release it, open the source, and improve on it from there.

      When I wrote CustomTF (an open source mod for Team Fortress for Quake 1, wh

    • I'm curious - why do you have a website at all? I find an increasing number of dev project sites and sourceforge projects with no code whatsoever. It's all noise.

      I'm working on a project I intend to open too. Like you, mine really isn't ready for public consumption. However, I am quietly tidying up my code, filling in some holes, and generally trying to make it useable/developable by someone who isn't me. Once that is done, I'll release it.

      Maybe this is harsh, but isn't building the website before the
    • by Eythian ( 552130 )

      Hmm, the way I did my Free software project [kallisti.net.nz] was to get a basic but functioning app done and released as an alpha to people who were willing to test it. This got me valuable feedback, and people to help out with things like art work (that I'm not so good with), that I wouldn't have gotten otherwise. I'm still not up to 1.0, and I don't know if that's so bad. Maybe the 100th release will become 1.00. The version number no longer really means anything.

      But my point is, it's come a long way since release, it's g

  • I share the author's appreciation and admiration for open-source users and contributers -- for the most part. In the interest of full disclosure, I have to mention that not all of my experiences with contributors have been completely positive. In rare cases, I have had to deal with contributors who want to make wholesale style changes, or otherwise ignore the submission guidelines. It has been challenging, at times, to manage that sort of thing. Those instances are rare, as I mentioned, and I wholehearte
  • There are two types (Score:3, Interesting)

    by WarJolt ( 990309 ) on Monday June 23, 2008 @06:12PM (#23910123)

    I believe there are two types of open source authors. The first one is the hobbiest. I think the author of this article belongs to this group. Sort of a socialistic approach. Do work for the benefit of the community.

    The second is a more capitalistic reason behind open source. Companies are big sponsores of open source. Companies can derive revenue through selling support, selling hardware or supporting an open source piece and selling a close source piece of software. Ubuntu, mySQL and google are for profit companies that support open source and derive revenue from it. For example linux kernel modules are often open sourced, so hardware manufacturers can sell more parts. Often open source advocates overlook the benefit from for profit companies that build a business around open source and in some instances alienate them. The GPLv3 for example has a clause often refered to "anti-tivoization", yet they followed the rules of the GPLv2 and release
    the source code to the users.

    My point is that the life of a open source contributer isn't always lonely guy in a basement somewhere turning out code hoping to get recognition. It could be a cushie desk job at google.

  • Does it mean... (Score:3, Insightful)

    by johannesg ( 664142 ) on Monday June 23, 2008 @06:34PM (#23910369)

    Doing a lot of hard work, and then getting people to bitch about it incessantly as if you were their very own personal slave, all without being paid?

    Ah, I kid: back when I was an active open source developer (for fMSX Amiga, for those that care) there were plenty of nice people too. And I got a grand total of 25 DMark for my six years of work! (and that's the truth!)

    • Doing a lot of hard work, and then getting people to bitch about it incessantly as if you were their very own personal slave, all without being paid?

      But if there is no software you can use to do something, you have to do the hard work anyway. and your free to ignore the bitching.

  • I'm sure there are many ways of going about open source project management. Here is mine:

    I mainly write tools dealing with games and game related file formats (used for mod creation, amongst other things), and some programs on the side regarding audiovisual analysis.

    While some may find the release early, release often model to work, it's too incomplete for me and I don't use it myself. What I do is:
    • Do some research, grab some documentation
    • Write the program to be fully functional, commenting the
  • by radarsat1 ( 786772 ) on Monday June 23, 2008 @06:39PM (#23910433) Homepage

    I think part of the success of some open source projects like Linux is due to the hardheadedness of the principle author. I think that generally releasing early and often is a good thing, but if you do it, you have to be prepared to be extremely honest about your intentions, and STICK to them.

    That is, if people come crying to you for features, you have to remember that you have other priorities, and you can't be scared of telling people to show code or step back. Basically, TFA here is talking about feature requrests that will start appearing before the project has the infrastructure (developer momentum) to support them. In that case you have to simply say, "this feature will be available when someone gets around to coding it, I'M working on this other thing over here." In other words, you've got to stick to your guns, you can't let your users own you.

    It takes a certain amount of jadedness to realize this, I think. At the onset of a new project, people want to attract attention and make potential new users happy, because they think this will help the project. But it won't; it will even be detrimental if you get "users" too early. Keep the *project's* health in mind, forget the users.. until the project reaches a level of maturity. At that point, if it's useful, it'll sell itself.

  • The names we give (Score:3, Interesting)

    by PopeRatzo ( 965947 ) * on Monday June 23, 2008 @07:24PM (#23910861) Journal

    I've never written software (IANAP?) so I can't relate directly, but I've seen the term "author" used for someone who writes code before.

    I'm curious: is this the best term to use? Is "author" a term of art in the the software world? Do those of you who create software prefer any other descriptor? Why "author" and not "composer" or "creator", "programmer" or "engineer"? I'm not aware of the various strata of people who code, but I'm pretty sure that the world of software "designers" shakes out categorically just like other fields. In music, there's "composer", or "songwriter" (which mean very different things) and "engineer" and "producer" (which can mean all sorts of things). In film it gets even crazier with "production assistant" and "producer", "director" (which can overlap), "set designer" and "art director" which can mean lots of different things, too. And of course, "best boy" which turns out to mean something quite different from what I thought when I was a movie-loving teenager.

    So, would Laurent Cohen also use "author", do you think? I'm really interested in hearing from you software wizards and conjurers.

    • Re: (Score:3, Interesting)

      by Raconteur ( 1132577 )
      I prefer the term "developer". It encompasses most of what we do. Other terms are appropriate; author is as descriptive as programmer, I suppose. I do shy away from "engineer" or "designer", as those monikers evoke different and more restrictive facets of our profession. Referring to programming as an art form elicits strong and varied reactions from many people. Personally, I do see the field as an art form. A sculptor or painter (for example) has the joy of creation, taking raw materials and creating
      • Interesting. I really dislike the "developer" term because I associate it most closely with real-estate developers, who are mostly financiers and middlemen. Engineers are the ones who get the real work done.

        I agree that there is a distinct art to producing software; in my mind engineering of all sorts has always been a distinctively creative and artful endeavor, so I don't think that it's particularly restrictive in terms of describing the scope of what we do.

    • I prefer "computer god" it strokes my ego, invokes fear of damnation, suggests omnipotence, and has potential to start a cult ^_^
  • Since I am the only developer on my OS project and I have a limited amount of time, what should I focus on?

    Documentation or
    Lots of small example programs?
  • ..that I met over the weekend, it means you're a "weirdo who ate too much paste as a kid."

    I don't think that convinced the other guy to install a closed-source alternative to OpenOffice.

  • by gillbates ( 106458 ) on Monday June 23, 2008 @11:53PM (#23912651) Homepage Journal

    • I don't have any arbitrary deadlines to meet.
    • I can rework parts that I think need reworking, without any change control forms or paperwork.
    • I can create in my own particular way, at my own particular pace. I don't have to release or publish anything until it's ready.
    • I don't have to bother (much) with issues like licensing compliance or chasing down deadbeat payers, or filing stupid lawsuits because someone is sharing my stuff over P2P.
    • I'm free to pursue projects that aren't commercially viable; I can do the kind of creativity that will never be seen in the world of commercial writing.
    • I can sate the urge to create without sacrificing my heart and soul to the whims of a corporation.

    Okay, on the bad side...

    • I'm not sure how many people are using my code, or reading my works, or if anyone even cares. I could be a really bad writer and wouldn't know the difference...
    • Because I have no professional obligation to release code, I don't release most of it. I have quite a few projects which are perpetually almost ready.
    • I'm spending a substantial amount of time for which I won't ever reap a dividend. Could I do something more productive with this time? Perhaps. But then I'd still have to find some way to sate my creative instincts, so it might end up a net wash.
    • There are things which I just can't work on because of my agreement with my employer. Working for a large corporation means that almost anything technical, which has the ability to change the world for the better, would fall under my employment agreement. Sure, I could probably post beer recipes (yes, I do brew...), but the work I've been doing with this FPGA kit is probably covered in part, if not completely, by my employment agreement. Because of the general wording of the agreement, and my desire to continue working there, I generally do not publish anything which could be construed as belonging to my employer in any way. So I typically can't publish anything related to my areas of most proficiency.
    • by Broofa ( 541944 )

      There are things which I just can't work on because of my agreement with my employer. Working for a large corporation means that almost anything technical, which has the ability to change the world for the better, would fall under my employment agreement. Sure, I could probably post beer recipes (yes, I do brew...), but the work I've been doing with this FPGA kit is probably covered in part, if not completely, by my employment agreement. Because of the general wording of the agreement, and my desire to continue working there, I generally do not publish anything which could be construed as belonging to my employer in any way. So I typically can't publish anything related to my areas of most proficiency.

      I understand what you're saying, but just to be clear, by,"proficiency", you mean, "intellectual property", right? The issue being that the company "owns" any IP you create while on their payroll or using their property (computers, offices, etc.). In practical terms, the problem is that you spend 40 hours a week writing such-and-such a library, and it'd be great to share this work, but the pointy-heads in management are reluctant to opensource it.

      Ideally, you can convince management that it's in the c

      • One of the big issues with allowing open-source development is that it *could* contain otherwise patentable algorithms. If I implement a patentable idea in some OS project, my employer could lose the rights to the revenue that would have otherwise been gained. While I understand that most here think patents are evil, many corporations see nothing wrong with a revenue model based in part on licensing their patents to others. In fact, some would rather license another company's patent than spend the R and

  • ...it meant you wrote code, and released it as open source. But maybe that's just me?

  • Yonks ago when I wrote a door for the Renegade BBS system, I thought I'd be able to make some money out of it by selling it as Shareware. At the time there was an immensely popular game called "Legend of the fwibble bwibble (can't remember what it was called - something to do with dragons, I think)" which I and many other people registered, obviously making the authors some money. "If they can do it, so can I" I naively thought. What I didn't realise is that for every popular piece of CSS software that

A morsel of genuine history is a thing so rare as to be always valuable. -- Thomas Jefferson

Working...