Slashdot Mirror


How Do I Get Open Source Programs Written For Me?

An anonymous reader writes "I am a biomedical researcher interested in having general-purpose, scientific programs developed and released as open source. Interface design and reusability of the code are of primary importance to me. For my purpose, Cocoa applications relying on Core Data seem to be the best way to get the job done quickly. While I have some programming experience, I have few connections to the industrial world. So my question to Slashdot readers is: how do I find someone (individual or business) to write high-quality programs? Are there reputable contractors experienced in Cocoa? What sort of rates should I expect, to use as a starting point in negotiations? Would a requirement that programs are released as open source make it more or less difficult to find someone to do the job?"

28 of 285 comments (clear)

  1. er... by girlintraining · · Score: 5, Informative

    The same way you find regular programmers. Just ask them to document their code and have in the contract that the work done is work for hire. When the job is completed, you own the copyright. At that point, release it under the open source license of your choice. For details, consult the GNU website on assignment of copyright.

    --
    #fuckbeta #iamslashdot #dicemustdie
    1. Re:er... by Anonymous Coward · · Score: 4, Funny

      I dare you to edit video and create a tv show like I can

      Don't throw a tantrum, Turtleneck. You and every other MySpace kid or freshman in your second-rate art school create "TV shows" and "movies" with Final Cut Pro.

      So mister fuckface. tell me HOW you can with your shitty windows and shitty linux and extra shitty BSD capture, compost and edit a TV show or movie without making it look like a 12 year old did it in his basement

      Even a 12-year old in his basement could make "artsy" movies, TV, and photos using black and white with fades and soundtracks etc. Too much talent in the Mac pool, methinks. Mac software was designed for simpletons looking to "fluff" up their inner artiste'.

      I do work on my Mac that makes me money...

      I do work on macs that make me money too. I buy 'em from thrift shops and wipe 'em down, then sell 'em to idiots for $1000 and use the money to buy PC's.

      you wanking off all day to free porn found on google images does not impress anyone.

      I don't pay extra when I shouldn't. That money you would save if you bought a comparably-equipped PC could buy you a cute Pomeranian to go along with the rest of your gayness.

    2. Re:er... by Anonymous Coward · · Score: 5, Informative

      Under English law, at least, this is entirely wrong. You will need to specify in the contract that any IPR developed belongs to you, and that the developer will take all steps to perfect this, including undertaking assignments.

      The developer is the author, and thus the default owner of any copyright work (source code) - as the commissioning party, you get nothing more than a limited licence, unless you specify it in the agreement. Plenty of companies have got caught out by this, and think that, by paying for development work, they necessarily own it.

    3. Re:er... by Peet42 · · Score: 5, Funny

      Adobe products suck, Everything else on your beloved PeeeCeee platforms sucks... Only FCP is a real tool.

      I beg to differ; I believe that you, too, are a real tool.

    4. Re:er... by MindlessAutomata · · Score: 4, Funny

      Just wait until he gets home from the coffee shop to reply to you. You're really gonna get it then, mister (fuckface).

    5. Re:er... by xouumalperxe · · Score: 4, Funny

      Dunno about TV shows, but I usually compost my manure by leaving out in a big heap, and making sure it's always moist.

    6. Re:er... by Craig+Ringer · · Score: 4, Insightful

      Tell that to someone who's used BSD.

      With BSD I have source code. I have a kernel I control. I have a window system that supports network display of applications natively. All my tools work from the command line, instead of having to do things from often-limiting GUIs. Said tools are also documented, which is a nice change from Mac OS X (where the docs for Apple tools are patchy, and rarely in the form of man pages). I can run BSD on any hardware I want instead of a restricted set of marked-up branded equipment. Oh, and did I mention the use of a sensible file system instead of HFS+ ?

      The same goes for Linux.

      Of course, I also have far fewer device drivers, far FAR fewer apps in many categories, less support for things like graphics tablets, and all sorts of other things than would be the case under Mac OS X (or Windows).

      Argh!

      Mac OS X has a POSIX subsystem based on a mixture of BSD and GNU tools, and a kernel that is in large part based on BSD's. Calling it BSD is a disservice to both BSD and Mac OS X.

    7. Re:er... by Otto · · Score: 4, Insightful

      Under the US Copyright Act of 1976, works made for hire belong to the person who did the hiring. The employer owns the copyright, not the employee.

      See http://www.copyright.gov/circs/circ9.html

      Of course, the law is complex, so it is best to specify that you get the copyright in the contract, to eliminate any doubt. But in general, when you hire somebody to produce something, you own the copyright.

      --
      - Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
    8. Re:er... by j-pimp · · Score: 4, Funny

      What a crock of shit. Mac is nothing more than a wannabe desktop publishing platform. Real video editing is done on a real workstation, like say SGI.

      1999 called and they want your troll back.

      --
      --- Justin Dearing http://www.justaprogrammer.net/ We're just programmers.
  2. Cash. by Gordonjcp · · Score: 5, Insightful

    Simple as that.

  3. How Do I Get Open Source Programs Written For Me? by jollyreaper · · Score: 4, Funny

    How Do I Get Open Source Programs Written For Me?

    Offerings of pizza and beer usually work.

    --
    Kwisatz Haderach
    Sell the spice to CHOAM
    This Mahdi took Shaddam's Throne
  4. a few ways by i.r.id10t · · Score: 4, Informative

    If you find a project similar to your needs on freshmeat, sourceforge, etc. you can always contact the developer and ask them to modify/extend, etc.

    A second option is to look at rentacoder.com - put out a request, your budget, and include the requirement about being F/OSS software. Get your bids, make a choice, etc.

    --
    Don't blame me, I voted for Kodos
    1. Re:a few ways by lysergic.acid · · Score: 4, Insightful

      If you find a project similar to your needs on freshmeat, sourceforge, etc. you can always contact the developer and ask them to modify/extend, etc.

      that's actually a very good idea. i'm surprised nobody thought to mention this earlier. there are already tons and tons of open source projects out there. there's no need starting a fresh new project when there's already an open source application that fits your needs and is much more mature and already has a development community around it.

      if you're willing to pay the developer(s), there are tons of open source projects out there that could use the funding. who knows, maybe one of them is exactly what you're looking for. it's hard for open source projects to reach critical mass when everyone wants to create their own application rather than contribute to an existing project that might fulfill the same objectives.

      one of the great advantages of open source is that there is room for both cooperation and competition. even if you don't find a project that fits your needs perfectly, you might be able to fork an existing implementation that you can use as a starting-off point. that reduces the amount of redundancy in the code space. and if you can revived a dead project, then even better.

      i think part of what kills off open source applications is a perceived lack of interest, which is partially due to the dispersal of resources over too many redundant projects. luckily, FOSS being what it is, anyone can pick up a dead or inactive project and resume development on it. so before you go off and contract a developer for a brand new open source program, see what's already out there that might fit your needs.

  5. If you are paying the bill... by Ngarrang · · Score: 5, Informative

    ...I should think you would be determining the end result of the program. If I read the question correctly, that is. You want to pay someone to write a program or programs. Then, you want to release them to the world as open source. The contractor would not own the code if as part of the RFC you stated the code would not be owned by them in any manner. The programmers may insist proper attribution in the source code, but attribution does not imply ownership.

    --
    Bearded Dragon
  6. Re:I think you are asking the wrong question ... by Sneftel · · Score: 4, Insightful

    Getting paid is, for most developers, a "personal itch" worth scratching.

    --
    The opinions stated herein do not necessarily represent those of anybody at all. Deal with it.
  7. The more specialized, the more expensive by Anonymous Coward · · Score: 4, Insightful

    That's the basic rule. Based on what we pay for our contractors (Qt experts -- they are really hard to come by), count on between 600 and 1000 euros a day.

  8. The Academic Route by EaglemanBSA · · Score: 5, Insightful

    Perhaps you could contact a University with a good CS program, or something of the like. You could fund a few grad students to develop your program for beans, with the stipulation that the source code be GPL'd. Grad students can be cheap, believe me - I am one, and I make a whole lot less than minimum wage.

    --
    Quiz: True or False -- On a scale of 1 to 10, what is your middle name?
    1. Re:The Academic Route by tzhuge · · Score: 5, Insightful

      I second this idea... especially the grad student part. Better yet, find a way to make this work part of a thesis for one of these students... then you might not have to pay them at all. :)

    2. Re:The Academic Route by rockmuelle · · Score: 4, Insightful

      No! No! No!

      CS grad students are in their program to do research, not develop software for other departments. Their time should be spent working towards their thesis. There is no research value in applying software engineering practices to develop an application for a researcher in another field. I know some schools allow theses along the lines of "A Software Framework for Cool Science Problem X", but these types of projects only shortchange the CS student. The projects are simply software engineering and should be handled by software engineers, not potential researchers.

      There's also the problem that most CS grad students have never developed large scale software and are essentially in the "0-3 years experience" range. While they are usually very bright, they are not skilled practitioners yet. The code they develop will have all the same problems that plague young developer's code: little reuse, lots of reinvention, tendency towards trendy solutions (Oh! Let's do the whole thing as an Eclipse Plug-in/OO Framework/Scheme Interpreter/etc), and overly clever solutions. If the research wants to learn software engineering, their time is much better spent earning decent wages at a real software company with people who can provide proper mentoring.

      Finally, there is the conflict of interest. A researcher's main goal is to perform research and publish papers. Software does not count as a publication. Thus, the software will be developed up to the point where there is something to publish and not much beyond. And, once the student completes their degree, they are off to greener pastures and support will quickly dry up.

      So please: Stop using CS grad students as software developers!!! It hurts everyone!!!

      -Chris

  9. Know Your Targets & Draft the Requirements by eldavojohn · · Score: 5, Insightful

    There are a few things about this blocking your path to open source success ... and even then, it's not guaranteed. So right off the bat, if you're depending on this to get a job or research done, you might want to exhaust all other options (footing the bill yourself/coding it yourself/seek help in your department).

    First off, the Cocoa requirement reduces your target development community substantially. Is this necessary? Are you opposed to Linux based development and execution? Personally, I haven't done a darn thing with Cocoa nor do I own a single Apple ... and I'm not a fan of the cost associated with OSX. But if this is a hard set requirement, you're winnowing down your possibilities. Just get them out there, put them on Sourceforge, post them here, get eyes looking at them.

    Second, where is the list of requirements? I know you're not a Systems Engineer but if you're not worried about this stuff getting out there, why not link us to a list of requirements. I know very little about what you need and therefore would have a hard time advising you on who to approach and how to do the job. I know a little bioinformatics (FASTA) ... is this what you are interested in? I recommend your first step being to approach a friend who is a system engineer (again, seek help) and drafting requirements for your initial program. Once you have that, it will both make development very easy to do via open source and help you concrete your end vision.

    If you do end up approaching a business to help you, research them. Do they have competitors? Is this their bread and butter or a side project? Have they historically contributed to open source? Figure out these answers so you don't have a pitch meeting that they take as an insult.

    --
    My work here is dung.
  10. Re:I think you are asking the wrong question ... by MrNaz · · Score: 4, Insightful

    Getting paid for as little work as possible is the real nature of the itch. Recognize it for what it is; if your developers don't have any motivation to write excellent code, they won't. You'll end up with the barest minimum that satisfies your requirements list and any use cases you gave them, and not one iota more.

    I say find a few other people who are in your same field who perhaps are more code minded. Get a group together with a common itch, and organize yourselves to do it together. For small niche products, that's pretty much the only way. Anything else will either be prohibitively expensive (hiring top notch developers with a track history to maintain) or result in mediocre results (hiring developers whose interest stops at the paycheck).

    --
    I hate printers.
  11. I don't think that's his exact goal by Weaselmancer · · Score: 5, Informative

    The second half of his question is about pay rates and how to find programmers for hire. He does mention open source in the first half of the question though.

    It seems like he wants to scratch a personal itch, but he's willing to put up some cash for someone to scratch it for him. Then once it's working, open source it and have the community improve upon it. So it's not the typical open source scenario of "start it yourself, put it on sourceforge, then try to get people involved."

    I'm picturing this guy as an open source project manager. Eventually anyways. He's going to start out as a client to some programming firm. Then he'll take the code he paid for and open source it on sourceforge. Then he'll go through an open source recruitment phase. Finally, he'll be the one saying "we need this feature" and "I'm not accepting that patch."

    What I'd recommend is to read the commit logs and notes for a large project. Study your Linus Torvalds. Read how he manages kernel commits paying close attention to how he handles rejected submissions. And the occasionally poorly received edict (for instance, when Linus moved to a pseudo-proprietary source control system) X.org might not be a bad study either, especially around the time of the split from XFree.

    Learn how to manage an open source project correctly, and your odds for success will greatly improve.

    --
    Weaselmancer
    rediculous.
  12. Re:I think you are asking the wrong question ... by chrylis · · Score: 5, Insightful

    Perhaps so, but if the programmer is aware that his code will be available for future customers to see, that provides a pretty strong incentive not to churn out crapware. This works in most of the rest of the economy, and it's hard to believe on faith, as so many seem to, that it can't work for software. I doubt that all of the programmers hired to work on Apache or MySQL always feel pumped about writing whatever regression test needs doing, but even if they had no personal pride in their work, there would be the external incentive.

  13. what, you've never seen the movies? by circletimessquare · · Score: 5, Funny

    as a biomedical researcher, you can:

    1. inject them with a lethal toxin or virus that gives them 48 hours to live. you possess the antidote, but you won't give it to them until the programming is done. you may find this code to be slapdash and hurried

    2. reprogram their genetic makeup so that they slowly devolve into an insect. revertion to homo sapiens status only occurs if the programming is done. their coding effort will be highly hierarchical, with independent nodes functioning in close cooperation, like a hivemind

    3. surgically insert a biomechanical morphine injector directly into their spine. press the button, and give them rapturous pleasure. get them addicted, then demand they get no more fixes until the programming is done. code produced from this approach will be alternately pure genius, and pure garbage

    combine #1,#2,#3. be the perfect bad guy. code will resemble naked lunch

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
  14. Re:Often times... by mebrahim · · Score: 5, Funny

    But be careful about Ballmer Peak.

  15. Re:Cocoa? by mebrahim · · Score: 4, Informative

    For 1000th time: It is not QT, it is Qt. QT is QuickTime.

  16. Re:I think you are asking the wrong question ... by dubl-u · · Score: 4, Insightful

    Every good work of software starts by scratching a developer's personal itch.

    That's true, but you're not interpreting it broadly enough.

    Sure, if he finds a developer who wants this software already, then that's great. But there are other ways to get people personally engaged in a project.

    One is to make sure it involves technical challenges the developer finds interesting. E.g., a good Cocoa developer who's wanted to use Core Data but hasn't. Or, assuming that statistics play a part here, a developer who has always wanted to learn about that. That's not enough on its own, but it's a good start.

    Next, find ways to get the developer engaged in the domain. A developer with an interest in this kind of science would be great. A lot of good developers started out studying something else, so it's possible he could find somebody with graduate training in his domain.

    Third, connect the developer in a personal way to the people who need the software. If this is lab software, then just pay him to spend a week working in the lab with the future users. Have development happen as close as possible to the users. Maybe in the same room, and certainly close enough that they share the same break areas and would naturally go to lunch together.

    Fourth, get a good feedback loop going. Show demos every week or two to actual users. As soon as possible, get an alpha version actually in use, and release updates every week or two. Get everybody together weekly over coffee to talk about how it's working. And occasionally get people together over beers to talk about the bigger picture.

    Do all these things, and the developer's personal itch is to make something great that satisfies people he has come to care about, people working in a context he understands intuitively.

  17. Cardinal Peak by Mr+Howdy · · Score: 4, Interesting

    Well, to start, posting the question anonymously means that nobody who actually does this sort of a thing for a living can contact you :-). Not sure if that was the intended effect or not.

    I run a 25-engineer development shop in Colorado named Cardinal Peak (http://www.cardinalpeak.com). We do quite a bit of development on OS/X and Linux, including open-source development, and I'd be happy to talk with you about your needs.

    Please forgive the obvious self-serving nature of this response, but it seemed on-topic for the original question.