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

 



Forgot your password?
typodupeerror
×
Education Open Source Programming Software

Ask Slashdot: Successful Software From Academia? 314

An anonymous reader writes "A lot of masters and PhD theses are about development of software targeting the solution or the automation of a specific problem. Bioinformatics, for example, has a lot of journals about software tools that are coded in academic environments; some of this software is the final result of a four-year PhD. But my question is, how much of this software will see the light outside the universities? I know of some examples, like BSD, but they are an exception, right? Is there any list of successful software created entirely inside universities' labs that became widely used?"
This discussion has been archived. No new comments can be posted.

Ask Slashdot: Successful Software From Academia?

Comments Filter:
  • PostgreSQL? (Score:4, Informative)

    by 0racle ( 667029 ) on Tuesday September 27, 2011 @11:47AM (#37527178)
    That work for you?

    PostgreSQL [wikipedia.org]
  • A few... (Score:5, Informative)

    by sl3xd ( 111641 ) on Tuesday September 27, 2011 @11:52AM (#37527248) Journal

    * Kerberos (Widely used, part of Active Directory)
    * X11
    * AFS (Andrew File System)
    * MACH (Used by GNU HURD and OS X)

    And that's just a starting sample.

  • Re:How about... (Score:4, Informative)

    by Ruie ( 30480 ) on Tuesday September 27, 2011 @11:52AM (#37527254) Homepage
    And valgrind
  • Several (Score:3, Informative)

    by PiMuNu ( 865592 ) on Tuesday September 27, 2011 @11:54AM (#37527278)
    I think most of the finite element/multiphysics packages started as research projects, either in university or government labs (some military, some conventional). For studying e.g. electromagnet design, heat deposition by currents /EM radiation e.g. microwave studio. Most of the radioactivation and nuclear shielding simulations used by the nuclear industry for designing radiation shielding are or were academic projects (e.g. MARS, FLUKA, MCNPX).
  • Re:How about... (Score:3, Informative)

    by staalmannen ( 1705340 ) on Tuesday September 27, 2011 @11:56AM (#37527304)
    and LLVM
  • LLVM (Score:5, Informative)

    by Lally Singh ( 3427 ) on Tuesday September 27, 2011 @12:00PM (#37527348) Journal

    The backend for quite a few compilers, and a few shader compilers...

  • Ho ho ho (Score:4, Informative)

    by anom ( 809433 ) on Tuesday September 27, 2011 @12:10PM (#37527498)

    FWIW, I'm a PhD student at a reasonably large institution in the US.

    Very little of this stuff sees the light of day. The vast majority of software is written simply as a proof of concept for some particular method/system/algorithm in order to get published. Good conferences/journals will typically want not only a well thought out idea, but an idea that you can and have implemented it to some extent, and that it works. That having been said, most of what gets produced is complete and total garbage -- typically just enough code to be able to prove that something runs correctly and in a given amount of time.

    Personally, I have written a bunch of junk code during my time here. I'd like to think I know more or less how to write good code after all these years, but writing good, well documented, well tested code takes time we don't have -- writing code is simply a means to an end (publication) -- and so most of the code I write is hasty and ugly. This even applies to code that people say is for "wide distribution".

    Before you go hounding on academia however, I'd warn that writing "good code" isn't really the point of what we're doing -- the point is to produce a reasonable method of solving some particular problem or type of problem. Going into bioinformatics for example, there are a whole bunch of problems that involve performing more efficient analysis of certain types of graphs. If a researcher discovers something along these lines, he/she will likely write some junk code to prove that the bare algorithm works, perform some analysis of it, publish it and move on. This may or may not end up actually being a useful improvement -- if it is however, then some implementer whose actual job it is to code whatever medical software might be using this algorithm then has a basic blueprint of how to proceed.

    As for some examples of software from academia that have made it out, let me think...

    Coverity - static code analysis tool, started at Stanford then moved into being a startup and is now quite successful
    PostgreSQL - Originally from Berkeley
    Bro (Intrusion Detection System) -- written by a researcher from Berkeley/ICSI -- is still somewhat "in academia", but I have heard of several production deployments

    That's all I feel like coming up with right now, but I think the general pattern here is that if/when some piece of software produced in academia is seen to have value in its own right (e.g., away from the original research/publication that spawned it), it typically gets spun off in a start-up or a more concerted effort is given to its development, at which point one can actually spend the time to write good code.

  • BIND DNS (Score:5, Informative)

    by egamma ( 572162 ) <[moc.liamg] [ta] [ammage]> on Tuesday September 27, 2011 @12:27PM (#37527708)
    I can't believe nobody's said this yet...

    BIND [wikipedia.org]

    BIND was written by Douglas Terry, Mark Painter, David Riggle and Songnian Zhou in the early 1980s at the University of California, Berkeley as a result of a DARPA grant. Versions of BIND through 4.8.3 were maintained by the Computer Systems Research Group (CSRG) at UC Berkeley.

  • by Arrogant-Bastard ( 141720 ) on Tuesday September 27, 2011 @05:38PM (#37532414)
    Andrew File System - CMU
    archie -- Princeton?
    CAP (appletalk for Unix) -- Columbia
    cops/tripwire -- Purdue
    GNU everything -- MIT
    Gopher -- Minnesota
    Kerberos -- MIT
    Khoros -- New Mexico
    Mach -- CMU
    NNTP -- UC San Diego
    Mosaic -- Illinois
    sendmail -- UC Berkeley
    BSD -- UC Berkeley
    RCS -- Purdue
    Usenet -- Duke/UNC
    tcl/tk -- UC Berkeley
    multi-CPU Unix -- Purdue
    cu-seeme -- Cornell

    I'm sure I'm forgetting quite a few. And of course not all of these are STILL successful, but in their day they made their mark, and often paved the way for other projects.

  • Yes & no (Score:4, Informative)

    by Weezul ( 52464 ) on Tuesday September 27, 2011 @10:59PM (#37535344)

    As I note upthread, virtually all important programming languages originated in academic-like environments, even if they are officially corporate.

    There are I think two revolutionary non-academic programming languages :

    - Smalltalk was developed by Xerox PARC, but ultimately created object oriented programming, which certainly used academia to gain traction.

    - C was developed by AT&T, but completely revolutionized our world. It's almost surely the most important language ever written. There had been structured languages before. I think Fortran and Cobal were developed by IBM. And academia had all it's research and teaching languages. Yet, it was C that brought structured programming and type-safty to system level programming, previously dominated by assembler. Imho, const is pure genius. C could not help but succeed with or without academia, but AT&T was still a fairly academic environment at that time.

    In other words, your classification of generalized academic project doesn't include either afaik, but clearly both can fall under some generalized academia. You could not design C, and maybe Smalltalk too, without thinking deeply about languages from a hybrid academic and industrial perspective. If you pursue a blind industry perspective, you create garbage like PHP or VB.

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...