Forgot your password?
typodupeerror
Programming IT Technology

How Do I Get Open Source Programs Written For Me? 285

Posted by kdawson
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?"
This discussion has been archived. No new comments can be posted.

How Do I Get Open Source Programs Written For Me?

Comments Filter:
  • by Anonymous Coward on Friday November 07, 2008 @11:46AM (#25676145)

    It is important to consider the cost savings that proprietary libraries might provide. It is obvious that the OP has a specific goal in mind apart from just having the program written. If OS X has a built-in library that does the job well, the expense of the operating system and hardware may very well be less than the time he or a contracted party would spend re-implementing the same functionality using only OSS libraries.

    For a more concrete example, let's look at audio. Core Audio, OS X's audio API, is well thought-out and well-documented, and the system comes with licensed codecs for a number of audio formats. Linux has OSS and Alsa that take care of basic PCM audio, Jack to implement the audio path functionality of Core Audio's Audio Units, and the whole legal issue of unlicensed codecs. If you're writing audio software, which is easier (a.k.a. cheaper) to use to gain the same functionality?

  • by jchawk (127686) on Friday November 07, 2008 @11:52AM (#25676235) Homepage Journal

    I've used - http://www.rentacoder.com/ [rentacoder.com] for a few different projects.

    You can put the request out with whatever terms you'd like and the let the market set the price.

  • by cinnamon colbert (732724) on Friday November 07, 2008 @11:59AM (#25676337) Journal

    Over the last 20 years, I have worked for several small biotech companies in the boston area, and all have had large (> 200 K) budgets for software. The take home lesson is that there are a lot of really bad programmers out there, and the only way to survive is to have someone you trust , who knows how to code, vet them.

    My current company has a really sharp VP/programming (whatever his real title is, thats what he does) and he hires good people.

    This may seem like chicken and egg advice, but it is all I have

    For examples, scan through almost any story at www.thedailywtf.com

  • by Entropy2016 (751922) <entropy2016@yahoo . c om> on Friday November 07, 2008 @12:11PM (#25676465)

    It sounds to me like you might be trying to change his mind purely because of your own personal development biases. It's not like Linux is supposed to have some sort of monopoly on open-source software. And in a medical setting, you're going to want as few potential technical problems as possible. Using a Mac there makes quite a bit of sense.

    Cocoa is by far the easiest application framework I've seen so far. If you know C++, you can learn Objective-C in an afternoon on a weekend. And you'll be better off for it, as it's a dream to use. If he wants software made on a Mac, there's almost no reason to avoid using Cocoa.

    The best thing that this guy could have done is to get the backend in C++/C so its portable and keep parts like the GUI as Objective-C. The parts between can be compiled as Objective-C++. It's not like if it was a Linux/Windows application you weren't going to have to rewrite the GUI-code to port in the future it anyway. I can tell you if the programs I wrote weren't Cocoa apps, they'd have taken much more time, and if that had been the case I probably wouldn't have even attempted them.

    If you know Cocoa's history (dating back to NeXTSTEP), you'd also realize that for scientific research, Cocoa really can be ideal. Scientists/researchers are often able to program, but they're not "professional programmers", so when they do it, they want it to consume as little of their time as possible. A scientist's priorities are not the same as a programmers priorities. Cocoa definitely makes sense there. I doubt this guy would be asking for an open source app in the first place if he didn't plan to at least review and consider modifying some code himself.

  • by mkcmkc (197982) on Friday November 07, 2008 @12:13PM (#25676493)

    I commend you for trying to find a programmer to work on this, rather than a biology student. As a bioinformatics programmer, I've seen the wreckage that results from the latter, and it's not pretty. There's a reason they don't let me in the wet lab, and it works the other way around, too. (I would never discourage anyone from learning to program for their own enjoyment, but if the results matter, you should act accordingly.)

    The most difficult part of what you're trying to accomplish is finding a programmer who's competent and has the right mindset. I've been programming for decades, and it's still difficult for me to figure out whether a particular person is good until I've observed them for quite a while.

    Regarding Cocoa, I think you should consider very carefully whether that's actually a requirement or whether it's simply something that sounds good. It's kind of like going to a doctor: you don't necessarily say "I want you to give me a bypass"--rather, this should be a long conversation with an expert in which you describe what you're really trying to do, and he/she provides suggestions and information about the pluses and minuses of various approaches. There may very well be alternatives that will be much cheaper and that you would be much happier with in the end.

    On the whole, the requirement that the results be released as Open Source should actually make it easier to draw good people.

  • Bounties?? (Score:1, Interesting)

    by Anonymous Coward on Friday November 07, 2008 @12:51PM (#25676931)

    Personally, I think hiring someone is a bad idea. You don't have a lot of coding experience so you won't be able to judge quality. I think you are better off using some sort of competition as a means to get the job done. How about breaking the tough part of the work into smaller portions that can be easily tested for performance, quality, etc. Give out prizes to whoever completes the code on time and scores the highest marks against your tests. This requires more work on your end because you have to quantify how you are going to judge the submissions but you would have to sort of do it anyways if you were trying to measure the quality of the work you paid for. Since you are a researcher, I assume you have contacts in Academia. Advertise the bounties in the CS department and wait for the submissions to trickle in. I've never tried this but I think it might work well.

  • by ChrisA90278 (905188) on Friday November 07, 2008 @01:15PM (#25677169)

    What kinds of rates to expect. It depends a lot. You can find kids who will work for peanuts but then you want profesional quality well documented work that is well tested. You will have to hire some real software engineers, some real quality control peopel and some real technical writers and editers and graphic design people. I've worked in the software business for 25+years and I'll tell you that it is expensive. You'd be shocked at how little a million dollars will buy. For example I live in So. California and have a wife and two kids. How much money would I need to support a middle class lifestyle? Then figure in typical levels of productivity. In my area, embedded systems used by military equipment we are lucky to see 200 lines of code per month per engineer. But that is fully debugged and tested and we have very, very strict quality controls. If you are writing for the web then you can be almost 100 times more productive because crashes and failure is tolerated because people don't die when a web page fails. Productivity is also a matter of luck. Studies have shown that in any group of 6 engineers there will be a 2:1 ratio of productivly between members of the group.

    "Lines of code" is a horrible mearse of a program's size but is as good as anything else we have. Typical LOC counts are about 5,000 for a simple but non-triveal program that one or two people might write. The Postgresql database system has nearly 500K lines and the Linux itself has about 10M line.

    So take the productivity numbers, your line of code estimates and an assumed salery plus overhead, payroll taxes, worker's comp insurance, social security and so on. Pick 100K per year for young people and double that for those with 10+ years full time experience. Run the numbers with low, average and high estimeats and you will get the range of costs. And yes you might be able to pullit off using all low estimates if yuo hire students who work at home and alrady have a solid understanding of the science and math.

    The worst case would be back when I worked on a radar system. In industry, radar is hard. Just over half the projects fail for technical grounds and this is even for organizations like Raytheon. We blew through millions and had nothing to show for it. But then producing maps in real time in the cockpit as a supersonic aircraft flies over the ground is not easy. But on the other hand if you are only creating forms on a web page, some kid will do it for you in a few hours. Cost depends very strongly on the problem domain AND the experiance of the enginers in that feild. In our radar case no one had yet solved this specific problem so going in we know we had a high risk.

    Risk is I think a worse problem than cost. Most software managers try very hard to reduce risk and make of a plan A, B and C. at least. It is worth paying double to reduce risk by half. Your best risk reduction technique is to find engineers with the relevant experience. Who understand both the science and the programming environment. On a large project yuo simply can't find enough of these people unless your project is very generis (like an on-line store)

    Good Luck.....

  • Re:er... (Score:4, Interesting)

    by mweather (1089505) on Friday November 07, 2008 @01:29PM (#25677317)

    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.

    Ask these guys: http://orange.blender.org/ [blender.org]

  • Cardinal Peak (Score:4, Interesting)

    by Mr Howdy (242956) on Friday November 07, 2008 @01:32PM (#25677349)

    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.

One good reason why computers can do more work than people is that they never have to stop and answer the phone.

Working...