Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Programming Software Space IT Technology

Open Source for SETI Software? 27

CommonModeNoise asks: "The SETI Institute is thinking about going to an open source model for some of our software. We have little experience with Open Source so we would like to ask the following: To what degree can an open-source project be self-managing -- how many of our staff will be needed to keep such an activity running productively? How can we deal with the lunatic fringe that will be attracted to something as provocative as SETI? Can open source development proceed at the same speed as traditional in-house development, or will it be slower? Some of our software controls hardware, for example the Allen Telescope Array; can such control software be developed using open source methods or are we better off focussing on the software-only systems, such as the next generation of our signal detectors? Finally, could we please get some suggestions as to what to read to get a better grasp of the varieties of open source development models and their respective good and bad points."
This discussion has been archived. No new comments can be posted.

Open Source for SETI Software?

Comments Filter:
  • by orthogonal ( 588627 ) on Saturday February 15, 2003 @05:41PM (#5310151) Journal
    You'd better control access to your CVS sources.

    Specifically, don't let the Grays from Cygnus Prime access the source code.

    They are deceivers!

    They have put a chip in my head and they tell to do bad things. Like to post to Slashdot.
  • by ninjadroid ( 622900 ) <ninjadroid@g a z u g a . n et> on Saturday February 15, 2003 @06:13PM (#5310298) Homepage

    Eric S. Raymond has written a few papers on open source design methodologies and the benefits thereof. Check them out at his website [catb.org]. In particular, The Cathedral and the Bazaar is a very enlightening read.

  • development speed (Score:5, Insightful)

    by DeadSea ( 69598 ) on Saturday February 15, 2003 @07:18PM (#5310666) Homepage Journal
    If you are hoping that making your software open source will attract developers, it probably won't. You will very likely have to keep your development team at the current size. The mozilla project experienced this. They thought that when they open sourced the web browser, everybody would start improving it. They didn't. Finally, some outside developers contribute to Mozilla, but it took several years for a very high visibility product.

    I don't think that many people would be willing to get up to speed on your development to help you out. There isn't much they will get out of it; developers usually code to scratch an itch. You might get somebody that does a better visual representation or somebody that tries to do some optimization to get better results for themselves, but you will be very lucky to get that.

    On the other hand, why wouldn't you go open source? For the most part it can't hurt. You are not trying to sell your software. What if some other observatory realized that they could control their telescopes with your code? They might just do so and find that they could make improvements to your code. Other than the cheating issues with Seti, I can't think of much of anything. And then again, it is well known how to cheat anyway.

  • "Self Managing"? (Score:5, Insightful)

    by mbrubeck ( 73587 ) on Saturday February 15, 2003 @09:30PM (#5311280) Homepage
    I'm not sure where you got the idea that an open-source project could be "self-managing." Any open-source project with more than one contributor takes a significant amount of management. You have two scenarios:
    1. Most of your development remains in-house but you get occasional outside contributions, or
    2. A community of volunteers takes over most of the development tasks.
    Number 1 is much more likely, and would leave you with the same management responsibilities as before, plus the extra job of communicating and coordinating with external contributors. You need to make your own development open to the community (make your mailing lists and code repositories public, give frequent updates on your status), and you need to give instant and useful feedback to developers who contact you with questions or contributions.

    Number 2 will happen only if you are lucky. It will leave you with an even bigger management burden because you have no control over the outside developers, and much less coordination unless you do a really good job of managing and communicating with the community. If you want to make sure that your organization's needs are still met, you need to encourage contributions in the right areas without discouraging people from joining your project. You have to deal with the possibility of the community forking the code and drawing effort away from your goals. You have to keep everyone working together even though you and they have never met face-to-face.

  • Book Suggestions (Score:3, Insightful)

    by marvinx ( 9011 ) on Saturday February 15, 2003 @09:58PM (#5311406) Homepage
    First, I hope you do end up open sourcing the code to at least the client applications. I believe that you will find those interested in working with the code. I believe you'll see people doing interesting things with the code you've never thought of. That alone is worth it.

    The two books I can recommend are: Open Sources [oreilly.com] and Cathedral and the Bazaar [oreilly.com]. Both are published by O'Reilly. They are quick, invaluable in your quest to understand the open source movement, and in paperback.

    It's true in that just making your application open source doesn't mean the world suddenly does all your work. To steal a common ad slogan, "Open source developers don't make the software, they make it better". In otherwords, there is always a core development group that steers the project and do the majority of the work. But once you open source, I think you'll find patches slowly come in plus developers taking the code and doing original things with it.

    Of course, the better the code is to begin with, the easier it is for developers to get started with it. I believe this is one of the main reasons the mozilla project took so long to really get rolling. Their original code base was a mess, and the average developer could not just "jump right in". If your code is clean and workable, then you'll see a normal pace of outside work.

    Good luck, and congrats! Going open source will definitely help you and the project out.

  • by Pharmboy ( 216950 ) on Saturday February 15, 2003 @10:50PM (#5311748) Journal
    My only concern would be making the client open source. My guess is that it being closed source has helped keep cheating under control. I'm not much of a programmer, so I can't swear as to the security of having it open source, but I would guess you arn't going to get 100 people wanting to help develop it, thus able to quickly fix security problems.

    Those of you who don't think people would cheat, seti@home participants take it very seriously. VERY. Many people WOULD cheat if they could. To many, your 'score' is bragging rights. I'm just glad that I don't need to prove anything to anyone with my seti contributions.

    Oh, and I'm in the top 99.601% percent with 6335 results, 9.069 years cpu time, and currently ranked 16957th place out of 4252029 and have been a participant for 3.682 years. :-)
    • I dont know nothin either, all I know is if a program is running on my computer 24 hours a day, 7 days a week, I'd really like to have some insight as to what its doing.

      • I dont know nothin either, all I know is if a program is running on my computer 24 hours a day, 7 days a week, I'd really like to have some insight as to what its doing.

        So you don't use Windows then? Ever? You ever install RPMs or any binaries without reading the source? You compile your own kernel and read ALL the source code of a Linux distro before you install? If you DID read all the source, how many hours would it take? Are you qualified to find any security problems with it? I am guessing not since you say you don't know nothing.

        No matter who you are, you are running binaries on your system that you don't have the source
        for, or have not read and analysed the source for.

        To imply you don't want to run it soley because you can't see the source that you admit you wouldn't understand, qualifies you as a bonified troll.
        • > So you don't use Windows then? Ever?

          Correct. I use no closed-source software on my computers (except the BIOS, which will get replaced with a LinuxBIOS ASAP).

          > You ever install RPMs or any binaries without
          > reading the source?

          I regularly install Debian binary packages. However, I do so in the knowledge that someone else almost certainly _has_ read the source and that I could do so if I wished.

          > Are you qualified to find any security problems
          > with it?

          I am qualified to find some security problems, yes. More importantly, however, I benefit from the efforts of others to do so.

          > To imply you don't want to run it soley because
          > you can't see the source that you admit you
          > wouldn't understand, qualifies you as a bonified
          > troll.

          No. It implies that he realizes that a major benefit of Free Software is that it allows those who do not have the skills to read the source to benefit from the efforts of those who do.

    • The SETI detection tasks I wrote of are those used for the Phoenix system at present, and the Allen Telescope Array in future. The "SETI@home" project is a different, complementary effort run out of UC Berkeley (setiathome.ssl.berkeley.edu). They search the entire sky while Phoenix at present is searching only the nearest 1000 sun-like stars, Phoenix however searches about 700 times as large a range of frequencies with about 100 times the sensitivity. With the the Allen Telescope Array we plan to expand our high-sensitivity "targeted search" to the nearest 100,000 stars (maybe a million in time). We also hoping someday to build a detector that watches the whole sky all the time for bright but transient signals.
      • The SETI detection tasks I wrote of are those used for the Phoenix system at present, and the Allen Telescope Array in future. The "SETI@home" project is a different, complementary effort run out of UC Berkeley (setiathome.ssl.berkeley.edu). They search the entire sky while Phoenix at present is searching only the nearest 1000 sun-like stars, Phoenix however searches about 700 times as large a range of frequencies with about 100 times the sensitivity. With the the Allen Telescope Array we plan to expand our high-sensitivity "targeted search" to the nearest 100,000 stars (maybe a million in time). We also hoping someday to build a detector that watches the whole sky all the time for bright but transient signals.

        Whether the client is open source or not, do you intend to use distributed computing to search for signals? Will this be totally seperate from seti@home, or will they be helping with the client side.

        From what I can tell, seti@home has more computer power than they can use. Most samples are sent out and completed 3 times. While this is nice to confirm the results, the reason (I believe) they did this is simply because they have more people willing to compute than they can collect and split tapes for.

        Your approach is a nice compliment to the seti@home program. I would be very interested in running client side programs if you did distributed computing on the few dozen boxes I control now.
  • The ideology of open source is really one of sharing and openness, like the scientific ideals of collaboration and credit-sharing.

    Some specifics answers?

    <i>
    The SETI Institute is thinking about going to an open source model for some of our software. We have little experience with Open Source so we would like to ask the following: To what degree can an open-source project be self-managing -- how many of our staff will be needed to keep such an activity running productively?
    </i>

    If you have a direction you want the project to specifically go, or preset milestones, then most likely you'll need to manage it.

    <i>Some of our software controls hardware, for example the Allen Telescope Array; can such control software be developed using open source methods or are we better off focussing on the software-only systems, such as the next generation of our signal detectors? </i>

    It sounds like your needs are very specific, so though your source may be open it may not draw intrest in someone else debugging your problems unless you have a shared problem. As such, you might be better into focusing your efforts on a common interface control module for your application, and writing a in-house driver to interface that software to your hardware. Other institutions with similar hardware can do the same and then you'd be sharing *part* of the costs of writing controls. (and they'll have a benefit from open development as well)

    Even for the software only stuff, you'd do better if your code was useful for more applications, for example, genericized signal analyzer you can plug any sort of data in and then runs the selected analyses. :P Hey, it might even find collaborators in other places that require signal analysis algorithms, like the DoD. Though you might want to worry for something like that about hostile military uses. (and the export restrictions and other bs that goes along with that)

    Good luck. Your best bet might be to use an OSS license, (lgpl most likely) but specifically contact other programs with similar needs to co-develop the software you need. (for your interface stuff) That's your best bet for finding other collaborators, but who knows, your software might find other collaborators in an unexpected direction, folks who have the similar needs as you and wouldn't mind adapting your software to interface theirs and contributing material back.
  • Target platforms (Score:3, Insightful)

    by killenheladagen ( 461470 ) on Sunday February 16, 2003 @05:56AM (#5313175)
    One benefit of releasing the source is that individuals will be able to adapt it to other platforms.

    I used to run SETI@home on my OpenBSD/SPARCstation until that target was dropped. If the project was open source I could try to re-introduce this platform and participate again.

  • Those of you discussing SETI@Home, would you please READ the information provided before mouthing off? The software under discussion has nothing to do with SETI@Home.
    • Those of you discussing SETI@Home, would you please READ the information provided before mouthing off? The software under discussion has nothing to do with SETI@Home.

      "can such control software be developed using open source methods or are we better off focussing on the software-only systems, such as the next generation of our signal detectors?"

      I thought SETI@Home WAS detecting signals...??

  • Your not asking what you think your asking.

    You can provide opensource software without any changes in your current development model (except providing the source to the software), some people may send patches or report bug in the code.

    The project will run faster because, you still have the current in-house, managed development, and some people will submit bug reports and patches..

    But, I don't think this is the question you wanted answered.
    To answer your question, there is no way to manage a bunch of volunteers, if the people find the project fun and interesting then they will help, if it's boring or they don't think it's important they won't. maybe give them some finincial assistance with food and coffee and the other things people need to live.

    Open Source doesn't mean free development, it means open source.

The biggest difference between time and space is that you can't reuse time. -- Merrick Furst

Working...