Ask Slashdot: Successful Software From Academia?
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?"
I am pretty sure that, for example, Condor started as an academic project, but now it is Red Hat's grid computing platform:
http://www.cs.wisc.edu/condor/
http://www.redhat.com/mrg/grid/condor/
Palm trees and 8
Though widely used is relative :)
I believe this was written by a grad student at Johns Hopkins, probably as part of his thesis work.
I took a class by his advisor, Prof.Yair Amir.
Grad projects and student-assisted research projects (most recently some OCR work and some prime factoring studies) are always released at the end of each study term under some sort of open-source license. I'm not sure _where_, though. I know my friend used the project he contributed to in his own business software, but don't have any examples beyond such simple anecdotes.
Does Linux count?
That seems silly. When I worked in a bioinformatics group as an undergrad, we use a *LOT* of software that was only used inside of a university, partially because the kind of research it targeted wasn't necessarily popular in commercial areas yet, and some because what we used was OSS and many commercial organizations preferred closed sourced alternatives (sometimes for speed optimizations, sometimes for support reasons).
Maybe you should define your criteria as widespread use in the context of the target field, rather than outside of a university?
That being said, I think a lot of it either directly or indirectly (through a third party reimplementation), does make it out.
Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
How about the Linux kernel?
That work for you?
PostgreSQL
"I use a Mac because I'm just better than you are."
kerberos, ganglia, folding?
In this day and age, most good software developed in acadamia tends to get spun into a business venture that makes its academic developers very, very rich. See Google, for example.
#DeleteChrome
There was this company called Google that came out of some phD students' work. I think it's still around and doing business.
Successful software created entirely inside universities' labs... I wouldn't know about that, but Facebook and Google are products of students at universities at the time said applications came into existence. Both addressed specific problems (Google -> search, Facebook -> social contact/updates/etc.).
Viable Slashdot alternatives: https://pipedot.org/ and http://soylentnews.org/
google search
The google search engine, I hear that is pretty popular nowadays.
The problem with software in academia is that it is often devoted to a sole purpose. It is not a generalized solution -- conversely -- it's often a demonstration of a solution so specific that it's never been done. Hence the awarding of a title to the creator. On top of that the teams are usually small and time is usually tight. It's also usually a side effect of the greater thing, the thesis. It will always take a backseat to the theory.
... if it had depended on hardware or the constant change of text files like PDF and DOC, I think you can understand how hard it would be for academia -- let alone the originating researcher(s) -- to maintain and support for the community. An open source effort could pick up that slack but then who deserves credit for that work?
When software is widely adopted, it is because it has been widely supported and is a more generalized solution to a problem. If it uses hardware, it supports all kinds. If it reads or writes files, it covers all formats. This leads to widespread adoption but also takes a lot of time and a lot of contributions. If you're also working on your thesis, this is a daunting task to work on the side.
Nobody gets their PhD by making a predecessor's implementation support more file formats or hardware. So this is left to the licensing of the originator and the community -- who are often recognized as the real workhorses that go from prototype to actual usable software. That's why you don't find many PhD projects turned instant open source hit.
In bioinformatics , a relatively young field, most consumers of the software work in a lab and the input is fairly simple. But even with simple input they first had to agree on a format (those are just a few of what used to be many). BLAST and FASTA go back to the 1990s and 1980s respectively
My work here is dung.
both ended up commercial, but both were academic projects. I think as a general principle, academia does not have the capacity to maintain commercial products - academic institutions don't have sales, customer support, marketing etc. So...genesis in academia, but significant "light of day outside of academia" is almost always going to involve a commercial entity.
I don't know of any list but I'm pretty sure that tons of successful software has come from academia.
Racket is a particularly nice example. I'm too lazy to Google so perhaps others can provide a few hundred more.
LISP, XWindows, Emacs - all from MIT.
Subject says it, X was mainly developed at MIT. I guess Ingress and Postgress where originally also university projects.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
You mean something like Backrub.stanford.edu?
This is an awesome (and free) software program that started at Washington State University and is widely used today!
* 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.
-- Sometimes you have to turn the lights off in order to see.
Postgres (now Postgresql) was started at UC Berkeley. There was a long evolution, but it is an outstanding and widely-used relational database.
The problem is that a lot of useful academic code disappears when the degree is awarded to the candidate. It's a big problem that's only exacerbated by the publish-or-perish culture of the scientific community at large--this code is often written as an afterthought to acquiring a degree and the development practices exercised by the authors often reflect that.
I think a major contributing factor is that the academic culture breeds advisors who are less interested in sound software development and more interested in graduating their students/getting papers published. It's difficult to place much blame on anyone in particular, since this behavior appears congruent with our expectations. It's really too bad that society loses out on interesting software this way.
web browsers
TCP/IP
I'm pretty sure these are used outside of universities.
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).
Oh wait that was Pre-K
There are quite a few open source projects on bioinformatics.org. Some of these are little more than quick command line tools. Others are entire frameworks. Personally, I use the following tools on a regular basis. Bioconductor (with R), EMBOSS, Primer3, and ImageJ.
Give me Classic Slashdot or give me death!
Subject of several theses:
http://www.tug.org/docs/liang/
http://www.pragma-ade.com/pdftex/thesis.pdf
https://www.tug.org/docs/plass/plass-thesis.pdf
(John Hobby's on METAPOST http://ect.bell-labs.com/who/hobby/thesis.pdf )
Probably others. More information at
http://www.tug.org/
and
http://www.latex-project.org/
and
http://wiki.contextgarden.net/Main_Page
William
Sphinx of black quartz, judge my vow.
I think this is the wrong question to ask/wrong approach to take. Providing a final, production-ready product is not usually the goal of scientific research (my area). Especially when it's not done in collaboration with some engineering firm.
Usually the goal of scientific research is to provide new knowledge about some very specific domain. For example, some of my coworkers are developing a "cloud simulator" which models EC2 and allows you - among other things - to do stuff like predicting how many machines you will need and what the cost will be.
My point is that research does not have a goal to deliver production-ready software. That should not be the goal of a PhD thesis. The scientific method is about something different: Science, that is. :)
I'd say it is an engineer's task to take those new advances in Science to produce something which is "working" for them.
TL;DR;
So to provide my final answer in a nutshell: I would say yes, that is the exception. Science is about providing advances in knowledge that others can then use for producing better.. "stuff".
It started out as someone's graduate research project in the late 80s/early 90s, and today it is the #1 aircraft design software tool in the world. Its installed in universities, aircraft manufacturers, aerospace consulting firms, and government and military institutions across the planet.
Disclaimer: I worked on the software after it went commercial.
this is a stupid question. Sorry.
Being formerly from a research institution I can say it happens... sometimes. Usually the people in charge of the project realize they can make money at it and spin off a company.
Other times, really excellent software, that would be great for the community, goes absolutely nowhere because there isn't an easy path to profit. Once the grant money ends, the project dies. Then other groups write more proposals to solve the same problem over and over because there's nothing in the market.
Rocks clusters (http://www.google.ca/search?gcx=w&ix=c1&sourceid=chrome&ie=UTF-8&q=rocks+clusters) CHARMM (http://www.charmm.org/) Gaussian as an example of how academic-inspired software should NOT be commercialised (http://www.gaussian.com/)
Everything from GNU and Symbolics to (as others have noted) PostgreSQL, Google and beyond.
Let's not forget programming languages like Python and Haskell. Even Facebook was conceived in a university environment, if not as a part of any specific research.
The backend for quite a few compilers, and a few shader compilers...
Care about electronic freedom? Consider donating to the EFF!
I'm not sure if "Research Institutes" count in your criteria, but as far as software for dealing with maps, http://www.falconview.org/ comes immediately to mind.
putty's core sw was academic
o The LLVM Compiler Infrastructure (University of Illinois, Chris Lattner's Master's Thesis)
o The Mosaic Web Browser (NCSA)
o The Apache Web Server (Based on a web server from NCSA)
o BSD Unix (which encompasses *a lot* of programs) (University of California Berkeley)
o The Pine mail reader (Washington University). Other mail readers were probably in academic institutions as well.
o Eudora (originally developed from NCSA, I think)
o Washington University IMAPd
o I think one or more versions of popd
o Potentially Valgrind (Julian Seward has a few papers on it)
o SESC (hardware simulator from University of Illinois, I think)
o I think VMWare was born out of a research project, but I can't find a definitive source.
The University of Manchester developed a free matchmoving piece of software called Icarus (http://aig.cs.man.ac.uk/research/reveal/icarus/). You can still use the old versions of this software for free.
It was later turned into comercial software that is a major player in the comercial matchmoving software area:
http://www.pfhoe.com/products.php
Is there any list of successful software created entirely inside universities' labs that became widely used?
That is an odd restriction to make. Students are only at university for a short time. If their work during that time turns into something useful then they naturally continue it after they leave, either as a an open source project or as a business venture. This is how it is meant to work, and there are tons of examples of such software.
MATLAB and Maple were both created at universities and later commercialized. Same for SPICE. On the open source side there is Apache, Sendmail, PostgreSQL, and the original implementations of nearly every RFC protocol on the internet.
Three more example: LLVM -- http://en.wikipedia.org/wiki/LLVM
RT Linux -- http://en.wikipedia.org/wiki/RTLinux
KSplice -- http://en.wikipedia.org/wiki/Ksplice#History
the SNMP server
http://www.net-snmp.org/
A good IMAP server
http://www.washington.edu/imap/
From Univ of Illinois - it arguably changed the internet from a tool for techies to a new way to do business. One of the problems is if something is really good commercial companies may morph it into products that eclipse the original; but their contribution, when though of as basic research, was invaluable. So the definition of success should not be limited to widely used, popular, or well know; but also include defined a new industry or way of approaching a problem.
I'm a consultant - I convert gibberish into cash-flow.
Posted by timothy on Tuesday September 27, @10:41AM from the how-about-ncsa-mosaic dept.
"A person is smart. People are dumb, panicky dangerous animals and you know it." - K
I think autostitch is used in real life....
http://www.cs.bath.ac.uk/brown/autostitch/autostitch.html
right up front: I know about this only because I work for these guys, but...
there's a whole host of Linear Algebra-related software written for high performance computing environments that is attributable largely to various teams of academics throughout the past 30 or so years. It is my understanding that these libraries get used by most anyone doing high-performance computing.
http://www.netlib.org/lapack/ http://en.wikipedia.org/wiki/LAPACK
Others have given pretty many examples. It may be worthwhile to mention the Web, from CERN http://public.web.cern.ch/public/en/About/webstory-en.html
Colorless green Cthulhu waits dreaming furiously.
Here's a list of my (important) favorites:
meep (finite difference time domain electromagnetics)
FFTW (fourier transform)
MPB (photonic bandgap solver
Elmer (finite element solver)
Academic designs are even more successful than the software. My thesis is in silicon and on satellites, and I'm nobody special. Most tech companies have strong university ties. Students and professors have the time and skill to work out hard problems. Companies have the skills to build and sell the results. Lots of research code is written, but most of it is designed only as a tool for research, no more valuable than a research notebook or the contents of a whiteboard. What's learned is what gets used.
Ship building and design: http://en.wikipedia.org/wiki/Tribon
http://www.aveva.com/Products_and_Services/AVEVA_for_Marine.aspx
The project started as a diploma work (for master degree) for projecting the airplane wing profile, which after that was extended to the ship's hull profile, and the rest is history.
Frequently the software doesn't start in a given academic lab, so much as it starts somewhere in a given research community and propagates to the academic labs as research needs dictate. ImageJ, for example, started at NIH, but now it's available to all and in use all over the place (including my lab).
Other software is developed cooperatively, and then academic contributions are added as they're needed to enable someone's research. If you run R (the statistical program) and start looking through all the extensions available in CRAN, you'll see tons of additions that have been generated in academic labs and released for use by the wider research community.
I work in biomechanics, and I've seen a few programs come out in that field through largely academic development. AnimatLab began (I think) at Georgia Tech, and I think Cofer et al. are still developing it within the university. OpenSim started at Stanford as an open source musculoskeletal simulation program, and is vastly preferable to the godawfully expensive SIMM, which does pretty much the same kinds of things. OpenSim is still alive and well at Stanford, although the developer network spans multiple institutions, academic and otherwise.
Much as I might wish that I could spend more of my time developing programs and playing with software within the academic sandbox, more often it's simply more practical to cast the nets for software from someone, somewhere doing somehow similar research, and then using the software you find if it's useful to your work, rather than reinventing the wheel in favor of advancing academic software development.
"What's the use in being grown up if you can't be childish sometimes?" --Fourth Doctor, "Robot"
IIRC, rsync was the culmination of its original author's thesis.
tasks(723) drafts(105) languages(484) examples(29106)
I believe that Paint .NET was developed in academia to teach students how to program in the .NET environment and it's become wildly successful and many plugins to add functionality are now available.
There was also an email system developed in academia named Pegasus Mail which was used by many cash strapped organizations for their complete email solution, though I think it's been displaced by now.
A number of HPC applications funded by NSF/DARPA/DOE grants are able to provide a continued source of new research while maintaining and improving the applications.
One example is OpenMPI. BLAS/LINPACK/LAPACK are also examples. Some of the C++/Boost libraries also are maintained in academic, such as the Boost Graph Library.
-Chris
Hugin (well, at least parts of it), Postgres (at least its origins), ...
Emacs and other GNU software (RMS worked for an university then,
afaik), LISP from MIT, Pascal from ETH Zürich,
Python (at least originated) from CWI,
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.
Wuala is a recent example, developed at the ETH Zürich, then spun off and bought by LaCie.
"I love my job, but I hate talking to people like you" (Freddie Mercury)
Firefox came from mozilla, which came from netscape, which came from NCSA Mosiac; done by Marc Andreessen at UIUC.
The LLVM compiler & runtime are both university projects from Vikram Adve @ UIUC.
VMWare came from SimOS, via Mendel Rosenblum of Stanford.
Coverity come from the work of Dawson Engler's students at Stanford.
BerkeleyDB started from work by Margo Seltzer at Berkeley.
Kerberos was done by Steve Miller and Clifford Neuman at MIT.
The Lustre filesystem is due to Peter Braam at CMU.
For a long time a lot of OSes used TCP/IP implementations out of academia (either Stanford, Berkeley, or University College London, depending).
Apache started as a series of patches against NCSA's HTTPd code (UIUC again).
PostgreSQL started from Ingres, which is from Micheal Stonebraker's group at Berkeley.
And now I'm bored looking these up. Let's just say there is a LOT of software that came out of academia.
Visualization software, a commercialized version of the work done by Shneiderman and his students at the University of Maryland.
Pretty sure R started at a university. It's a GNU project now, does that disqualify due to the arbitrary criteria of the original question?
This is a loaded question:
But my question is, how much of this software will see the light outside the universities?
The truth is that most software projects (even the ones developed outside of Universities) never get widely adopted. Just take a look at Sourceforge, how many of those projects become widely adopted? or even get anywhere? 1 percent? 0.00001 percent?
That being said, I believe Universities have a disproportionately strong influence on the software industry (which is by design of course). Take for instance, Intel, Linux, Google, InfoSeek, SendMail, Internet Explorer/Netscape (which both used the initial code base from Mosaic), Cisco, Yahoo, Sun, etc. They were all started initially as some kind of school projects.
http://sakaiproject.org/
http://kuali.org/
See also, Adaptation Displacement.
PageRank! Google was just one big master's thesis. And quite academic, if you're a stranger to linear algebra.
Does a software package need to be "widely used" to be classed as "successful"?
My company, for example, was built around an academic software package. We are nowhere near the league of the Googles or Oracles out there, but we provide a fair number of employees with a good salary. I'd never say our software was widely used as I can count our customer base on the digits of my hands and feet. Our kind of niche market will often use software from academia - because that's the main source of innovation - and the purely commercial argument for developing and validating the software in the first place would be weak.
To answer your question directly, in my field a vanishingly small fraction of academically developed software is ever used outside the research group that produced it. Even in the cases that the software would be more widely applicable, it just isn't shared/sold/licensed more widely. A couple of times, we have tried obtaining commercial rights to software that we thought could be valuable outside academia but we've never managed to negotiate realistic terms with the universities. Either the researchers aren't interested in pursuing this option as there is no personal reward for them, or the I.P. departments get greedy and the royalties they demand just makes the whole idea unviable.
If you're looking for examples of "successful software created entirely inside universities' labs", you're never going to find anything. University research is fundamentally different from product development. While a grad student or faculty member might do research on a hard problem and write some software to solve it and publish a paper, that software is going to be enormously buggy, perpetually incomplete, and probably require constant support in order to work at all.
But there's another side to it, which is that nobody's going to pay for that team of developers either. Even an R01 grant (the classic "run a research lab" grant) is around $250k/year in direct costs. You can't hire a full time .NET or Java developer (let alone a team of them) and pay your own salary and tuition for a couple grad students on that budget. Even if you could, you'd have a hard time justifying it as a research expense to the federal government.
So how does stuff end up on the market? Spin-offs, collaborations, and cross-licensing. Universities have smartly become much more willing to license out technology developed on campus, even when done 100% on University time & money. Having that flexibility encourages your smart people to think big, and discourages the best people from leaving to do it.
My understanding is that Tim Berners Lee convinced The Powers That Be at CERN that they shouldn't patent the Web. He created it originally to help world-wide high energy physics collaborations communicate with each other, but sensed the potential for others to use it.
Before the web, it was very very difficult and very expensive for members of the public as well as for small businesses to get connected to the Internet. There was no such thing as a commercial ISP. You needed to drop tens of thousands of dollars on a Cisco router and a leased phone line, and then you had to find someone already on the Internet that would agree to hook you up.
When I was a UCSC student in the mid to late 1980s, the entire campus shared a single leased 56 kilobaud connection to Stanford! No video pr0n, w4r3z or filesharing for us students, the best we could hope for was plain text email and maybe FTP of small files, because our filesystem quotas on the campus BSD machines (PDP-11s and VAXen) was 250 kb.
The Netscape browser was a fork of NCSA Mosaic. It had the two big improvements that it was multithreaded and that it would display JPEGs within the page, rather than launching an external JPEG viewing application.
The Apache HTTP server was originally "A Patch" (Get It?) on the NCSA HTTP server. After a while the set of patches grew unwieldy, so the Apache people just started maintaining their own fork of the server.
CERN produces a collossal High Energy Physics FORTRAN data analysis package called CERNLIB. It has all the Laws of Physics in it somewhere, other than Einstein's General Relativity (Gravity). Just about every High Energy Physicist uses it. I don't know whether it is used outside of academia, but it could be used to simulate other physical phenoma.
GNU Emacs was originally a macro package (EMACS = Editor Macros) for the Symbolics LISP Machine that someone - I don't know whether it was RMS - created at the MIT Artificial Intelligence Laboratory. I don't know much more than that about the early history of Emacs, but I believe Richard Stallman rewrote it in C so he could do LISP programming on other kinds of operating systems.
The Zork text adventure game was originally a VAX/VMS text adventure game originally called just "adventure". I think it was written in FORTRAN. Zork was all the rage before video cards got to be so good. It worked great on MS-DOS!
The CLang C-Like Language compiler front-end and the LLVM code generation back end were created by the U of Illinois. They are now bundled with Apple Xcode for Mac OS X and iOS development.
While there are some academic software projects that make it big, that vast majority don't. This is because PhD's are trying to do research, publish, and get their doctorate, not write quality code. I know I would never release any of the code I have written so far, not because I'm anti-FOSS, but because the code is crap and I know it.
The software is written to see if something was possible, or to scratch some very specific itch. The result is that there is no documentation, very little abstraction, and a lot of cowboy coding. The problem is you write code to follow the results, so you cannot plan ahead. You can write beautiful code for a week, then get the results and discover the whole approach needs to be changed. You also tend to code very specific to the task because you don't want your results to be messed up by coding shortcuts or needless abstractions. But most important, for me at least, is time. Most PhD just don't have enough of it to spare starting and maintaing a project. Sometimes Profs do (Zeus bless them) but the students rarely.
What you do see happen is for research to prove something novel, then get rewritten to become a proper project sometimes FOSS, sometimes as the poduct of a new company. I have seen a few Profs. start open source projects and have their students work on it in partnership with other researchers, and that maybe more common in the future. But right now, most code never gets out and you wouldn't use it even if it did.
Hspice and Pspice are popular commercial, closed source versions of Spice. I wonder if Spice would be used more or less if it had been GPL? It certainly resulted in a lot of money that did not go to the original developers.
I've been using a Network Documentation Tool (Netdot) for a while now. It is still in active development but certainly useful. It can easily be adapted to networks outside of academia. They implement feature requests pretty often too. https://osl.uoregon.edu/redmine/projects/netdot/wiki
Etc.
Impossible to answer. What defines a serious project versus someone's pet project or proof of concept? Then of those, how do you measure success? How many Sourceforge projects "see the light" outside Sourceforge?
This is the question you seem to be getting an answer to in the forum here. Hopefully it helps.
SPICE is a general-purpose circuit simulation program for nonlinear dc, nonlinear transient, and linear ac analyses. Circuits may contain resistors, capacitors, inductors, mutual inductors, independent voltage and current sources, four types of dependent sources, lossless and lossy transmission lines (two separate implementations), switches, uniform distributed RC lines, and the five most common semiconductor devices: diodes, BJTs, JFETs, MESFETs, and MOSFETs. SPICE originates from the EECS Department of the University of California at Berkeley.
'The tyrant will always find pretext for his tyranny.' - Aesop's Fables
The list is endless. Every major genre of software used out there today can have its roots traced back to universities.
The critical part of "see the light outside" is marketing. Universities were never supposed to be corporations with a marketing department. now, i'm sadly aware, that many universities are changing in that regard ("office of technology transfer" by any other name) but historically there's your explanation. That being mumbled, if you were to start with every major software package "outside" and faithfully trace it back to its origins, i'd say you'd nearly always discover yourself in a university setting. ("why that's mere sophistry, sir! because computers themselves can all be tied back to university professors and the like!" ...yep)
Both SAS and R were originally developed inside academic environments. I'd say they both enjoy a rather wide audience (one FOSS, the other rather on the expensive side).
WebCT was developed at the University of British Columbia, became widely used enough to become a company and then it was big enough to be bought (and put out to pasture to die) by Blackboard...
Don't blame me, I voted for Kodos
BIND
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.
Battlemaster--Game with friends in medival realms
The basis of SAS came from while a student at NCSU. From Wikipedia: SAS was conceived by Anthony J. Barr in 1966.[2] As a North Carolina State University graduate student from 1962 to 1964, Barr had created an analysis of variance modeling language inspired by the notation of statistician Maurice Kendall, followed by a multiple regression program that generated machine code for performing algebraic transformations of the raw data. Drawing on those programs and his experience with structured data files,[3] he created SAS, placing statistical procedures into a formatted file framework. From 1966 to 1968, Barr developed the fundamental structure and language of SAS.
Just to add to the list: Pine.
the tcp/ip protocol stack
GIMP started out as a school project for a class at University of California, Berkeley.
The business proposal for Digsby was done for an MBA class at Rochester Institute of Technology.
In relation to another post - Multi-Touch as implemented in the iPhone came from Academia ....
Puteulanus fenestra mortis
I'm not sure if you're only considering popular non-commercial software or work specifically done by grad students, but there are several examples of numerical packages that started out in some sort of academic environment.
* SAS - used for a variety of statistics-related purposes by businesses, originated from some academics at North Carolina State University. They eventually spun off and created the company that now develops the software (and donated a bunch of money to build a new math / statistics building here)
* R - programming language for statistical computing. This is apparently an implementation of the "S" language, invented at Bell Labs, but R was created by some academics at the University of Auckland.
* MATLAB, LAPACK, LINPACK - a library for numerical linear algebra. This is the forerunner to LAPACK, which is used by MATLAB and lots of other numerical-computing related software. This was developed by a number of people, including Cleve Moler, who went on to develop MATLAB for use by his students at University of New Mexico, which he later commercialized with some of his collaborators. Also Jack Dongarra, who was one of Cleve Moler's students, is credited.
* Octave - this is a mostly-MATLAB compatible numerical computing language. It originated as a project by John Eaton, to accompany his nuclear reactor design course (I guess at University of Wisconsin). I don't actually know how widely used this is, but I personally use it as an alternative to MATLAB in my research (I'm a graduate student in applied mathematics).
I'd imagine most of these things are exceptions to the rule, though. Generally, as other posters have said, a lot of academic software (at least in applied mathematics and some related fields) is written as a proof-of-concept to validate whatever the researcher is working on, rather than a practical set of tools for others to pick up and start using.
I use a GNU GPL licensed modelling program created at Carnegie Mellon. http://www.ascend4.org/
expletives welcomed
I think the original poster is looking at it from the wrong perspective. Often academic research papers are about a new technique and any accompanying software is rather rough from a user standpoint. Such software in not intended to be marketed to the masses but rather to demonstrate that the idea is sound. Business then takes ( licenses ) these ideas, improves on them and produces something that they can sell. Just because academia doesn't directly market software doesn't mean that their contribution to development is small. How many of the products we use today are based upon some academic research?
And a thesis and accompanying software tend to be written for your advisor(s) and the committee that will review your work (mostly the written thesis). Spending time tailoring software for the public is often considered a waste of time, something to be done after graduation.
www.kuali.org
Universities are coming together to create financial, research administration, student, human resources and many other enterprise level applications. These are targeted more towards non-profit organizations, but they'll be all over the world sooner or later.
Made by a Vietnamese student while studying on the Masaryk university in Brno, Czech Republic
http://en.m.wikipedia.org/wiki/Pdftex
CUSeeMe was a videoconferencing client that featured support for multiparty conferences, developed at Cornell.
LDAP was a cut-down version of the X.500 Directory Access Protocol developed by Tim Howes and others at U. Mich; they were quickly hired by Andreesen at Netscape.
Cyrus
R was created by John Chambers, who worked at Bell Labs initially. He's now at Stanford, and most of the development for R is done in academia.
the University at Champaign-Urbana lays claim to one or two projects that have some popularity ..
the Mosaic browser and its offshoots Netscape, Internet Explorer and Oracle Screens began there.
Javascript (as part of Netscape??)
Apache web server
Project Gutenburg
and, if 'travelling' across the universe fictionally counts as 'widely used outside of the university' then there is HAL in 2001, that (who?) claims to have been activated at the Urbana campus.
The original version of WordPerfect was developed by Bruce Bastian while a grad student at BYU (with Alan Ashton as his faculty advisor). At that time, it was a screen-oriented editor that ran on Data General minicomputers. I know because I shared an office with Bruce during my senior year at BYU (1977-78) and used his existing version of the editor to write several papers for my classes. :-) Bruce & Alan went on to sell a (DG) version to a local city government (Orem, UT) and then founded Satellite Systems Int'l to commercialize the product and ended up owning the MS-DOS word processing market. Word Perfect still might be dominant were it not for Microsoft's brilliant head-fake with OS/2 and Windows 3.0, but that's another story. ..bruce..
Bruce F. Webster (brucefwebster.com)
a couple of small businesses come to mind, there's one called google - the pagerank algorithm was developed by Page and Brinn at Stanford, and another called Autonomy which initially started out as a company called Cambridge Neurodynamics who's main product was the CEO's PhD thesis
It's not really clear to me if the submitter is wondering whether academic software is ever good for anything, or if the submitter wants to study "success stories" for some reason. Either way, I think wide use of software developed in an academic setting is the wrong way to look at it.
The point of academic software development isn't to write software that will be used by lots of people (although it's a nice bonus if that does happen), it's to develop new techniques that may be useful to a wider community. See the development of graphics processing techniques at Utah in the 70s. I assume nobody is using their original software these days, but look what a staggering amount of code they spawned.
Maybe the question should be: Do any techniques developed in academia see widespread dissemination in popular software? To which the answer is, undoubtedly, yes.
There were two very different versions of SPICE - SPICE2 was a fortran program, and is the basis for the PC version PSPICE (Microsim>OrCAD>Cadence) and minicomputer version HSPICE, though many newer simulators are based on the code for spice3 re-written by a subsequent Berkeley effort in c. Its legacy in electronics engineering is such that even independently generated simulators (Eldo, spectre) rely on the conventions and methods from SPICE, though incorporating incremental improvements (a new algorithm here or there, and distinguishable mainly by how it differs from SPICE).
whatever is - the music is
The Eclipse Mylyn (http://eclipse.org/mylyn) project started out as a university research project before it came under the eclipse.org umbrella. Furthermore, It became so successful that a company was launched around its work, Tasktop (http://www.tasktop.com).
You really need to define what you mean by "created" and "entirely within." Very few software development projects are purely academic and a lot of development is done with both academic and non-academic contributors.
Lua (the Programming Language) was created by a university in Brazil and is quite popular now a days. Just an example. But I agree, most of them will never see light of day.
Gimp... Well at least the core image processing part was an 11th hour switch from a failed LISP compiler thesis project.
Since you bring up bioinformatics software, and that is my field:
Yes, there are lots of journals devoted to publishing articles relating to such software. While most 4-year PhDs may not result in software that is used for a long time and/or outside the lab it was developed in, almost all of the bioinformatics software that *is* widely used is in fact developed at universities and published in such journals. BLAST is certainly the canonical example, but modern-day equivalents exist:
1) Next-generation sequencing tools: the SAM format for storing alignments, the software to do such alignments (e.g. BWA, bowtie, tophat, etc.), the VCF format for storing variants, the tools to process data and call variants (GATK, PINDEL)--all of these are becoming near ubiquitous, and all were published in bioinformatics-related journals and come from PhDs, postdocs, and the occasional staff scientist.
2) Genome-wide association studies: the software for calling SNPs (Chiamo, Birdseed), the software for calling copy number variants (PennCNV, Birdsuite), the tools for assessing significant differences between populations (PLINK), the tools for imputing variants not directly typed (IMPUTE, beagle)--all of these are widely used by other labs, universities, and companies that are doing GWAS studies; widely used by the field.
3) Genome annotation: I cannot imagine where we would be without either the UCSC genome browser or IGV for interacting with genomic data.
Those are the ones I've directly had direct contact with; I'm sure many others exist in other fields. But short answer: Yes, the (good) tools that are created in labs, published in journals, and (ideally) supported in some way are used by tens to thousands of other researchers!
UCODE
PEST
Dakota
Visit
PETSc
There are a good number of small packages like these from academics with one intended purpose that are successful within the field they were developed for. Many times, people not in the field won't have any use for them.
Advanced Maryland Automatic Network Disk Archiver
Written at University of Maryland College Park.
Solves the problem of backing up zillions of servers and workstation to a single massive storage medium (tape, SAN, whatever)
http://www.amanda.org
Don't kid yourself. It's the size of the regexp AND how you use it that counts.
It seems no one has mentioned it yet, so I will.
I believe Lua (the programming language and virtual machine) is from academia -- the Pontifical Catholic University of Rio de Janeiro in Brazil.
Lua is used in a lot of games and embedded in a lot of software. I think even World of Warcraft makes use of it.
For more information and links, see About Lua.
http://autodock.scripps.edu/
http://www.fetk.org/codes/gamer/
http://alloy.mit.edu/alloy4/
If you're going to include those, then you should include ScaLAPack and ATLAS. P3DFFT is also university-created, but is arguably not stand-alone.
Outside pure maths, there's also Seismic Unix (widely used by GPR fans).
I believe Network Simulator (ns-2 and ns-3) are university-built.
Arguably NASA isn't academia so I doubt I can really include CDF. However, NetCDF and HDF are academic.
CU-SeeMe (Cornell University) was the first massively-used videoconferencing tool out there by non-academics. Academics preferred the multicast MBone tools of VAT and VIC (also academically-written), which were a major hit amongst those who could get multicast traffic. The program that allowed you to connect muliple CU-SeeMe clients and also to have them interoperate with the MBone tools was Reflector (also an academic project).
TeX/LaTeX (the mainstay of journals and at least some publishing houses to this day) were developed in academia, I believe. I don't think Donald Knuth was working in a private capacity at the time.
I used to work at Dartware. Their main product is Intermapper, which was spun out of an internal Dartmouth College software tool.
NT Emacs (now GNU Emacs for Windows) - University of Washington Computer Science and Engineering
Save the World! Use a Quote!
pdfTeX started as a PhD project.
The original winsock code for Windows was taken directly from BSD source.
The apache web server and the first graphical web browser (Mosaic) were originally developed at NCSA.
And as you said BSD gets plenty of use in 'the real world'
But more importantly, many concepts that are now industry standard get their start in academic prototypes. A lot of standard operating system concepts were developed specifically from BSD version of Unix. The first relational database system (ingres?) was an academic (berkeley?) effort. One could also argue that cloud computing really owes its beginnings to the grid computing effort, which was driven by academic work.
Just one more project that I haven't seen in the previous posts: OCaml is a nice programming language that is used for teaching in France, and also used in a few real-world projects.
However, some of the modules which people find really useful are rewritten by the core team, so one could say that they were not an output of the PhD/Masters.
In the larger scheme of things, the solutions by academics remain solutions for academic only until they are widely adopted. Then they permeated textbooks, and become the standard solutions of a useful problem. For this, there will exist a software (probably a rewrite) which has optimized it to within an inch of its life.
So the ideas behind the software live on, while the actual lines of code might not.
Never trust a spiritual leader who cannot dance -- Mr. Miyagi
I think there are lots of examples, but as you pointed out they are often for specific domains and so if you don't work in that domain you won't have heard about the software.
A good example (disclaimer: I work for the University research group invovled) is GATE (http://gate.ac.uk) which is a generic framework for text processing. It started life as a PhD project around 15 years ago and has grown into a mature framework that is used around the world for both teaching natural language processing as well as university led research. Outside academia it's also used by government departments and large companies to process huge volumes of text: think The Natioanl Archives in the UK, BT, AstraZeneca etc.
GATE is a successfully (and open-source to boot) framework developed within academia used around the world by large companies yet I bet 99% of people reading this post will never have heard of it. And I'm guessing there are a lot of other similar pieces of software in other domains. So I guess in the end it depends what you mean by "widely used".
Ummm... SMTP (a protocol but still)
Grid Computing:
- Platform LSF: from the Utopia research project at the University of Toronto. Platform's revenue is well over $70M in 2010.
- Sun Grid Engine (now Oracle Grid Engine & the open-source Open Grid Scheduler): from DQS at the Florida State University
Cloud Computing:
- Eucalyptus: from the University of California, Santa Barbara
HPC middleware:
- Open MPI - PhD thesis, powering the #1 TOP500 supercomputer
Scrach project? Developed by MIT guys.
Some apps are WYSIWYG. Some others are WYSIWTF.
A lot of software that is written for graduate school is by nature specialized. So if you are looking for "widely used software" you probably won't find it there, unless you modify the qualifier to "widely used within a field".
That, and very few people complete a bioinformatics PhD in 4 years as asserted in the summary - unless they enter the PhD program with a master's degree already in hand - most take more like 6-7 years. It can often be one of the most difficult PhDs at any institution in part to the fact that it often involves negotiating a minefield of conflicting departmental requirements between departments of Biology, CSci, Math, Statistics, and others.
Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
There. I said it.
Vision with execution is hallucination.
http://moodle.org/
http://www.scala-lang.org/ developed at EPFL, Lausanne, Switzerland by Martin Odersky. And referring to slashdot, Twitter has implemented some parts of it in Scala: http://developers.slashdot.org/story/09/04/07/1928218/twitter-on-scala
http://www.r-project.org/
VLC (VideoLAN) player.
It may just be a boardgame to you, but I thought his thesis involved the AI. It WAS widely used.
http://www.riorey.com/ for one
http://www.otc.umd.edu/Start-ups.html
Pine was developed at the University of Washington. Not mainstream, but definitely widely used. (It eventually became Alpine.)
Software tools in academia are often just proofs-of-concept of a shiny new algorithm. The algorithms themselves often do find use outside of the lab.
SPICE started out as somebody's research at UCLA Berkley and has since "inspired and served as a basis for many other circuit simulation programs, in academia, in industry, and in commercial products." http://en.wikipedia.org/wiki/SPICE
If we are talking about my subject (machine learning / NLP) a lot of the successful tools are open source and developed in academia.
Now I admit there aren't many large NLP companies out there (Nuance springs to mind, but they have their own software), but there are quite a few medium-sized companies that do quite well using open source Machine Learning tools. (After all, the machine learning algorithm is not what is unique about a specific solution anyway).
For instance, TiMBL ( http://ilk.uvt.nl/timbl/ ) is widely used in several small companies (mainly for development of solutions as it is extremely easy to use).
Try the sagemath project, see http://www.sagemath.org
The math tool. Fantastic piece of software.
Running with Linux for over 20 years!
I believe Tripwire grew out of an academic environment. (Purdue? I think.)
The 'problem' with bioinformatics is that the field is extremely broad. Unless you write BLAST or one of the big sequence assemblers, your software is only going to appeal to a tiny fragment of an already small bioinformatics community.
I wrote software as part of my Ph.D. that is now distributed world wide. I guarantee you've never heard of it - it sets the standard for how to do certain types of phylogenetic analysis, but almost no one does that analysis.
During my time as a postdoc, I wrote a very simple curve fitting routine and put a minimal GUI on top of it. I am now getting requests from multiple countries to modify it to read in files from their instrumentation. Once again, only the tiniest handful of people care, but for those people, this is revolutionary stuff.
The question here is, how do you define success? Like a lot of the responses to this thread, I wrote a small script here or there to solve my own problem. Turns out, it solved a problem for someone else, too. My best known piece of software was a hack, a one-off script, written in an afternoon, that I got yelled at for even bothering to spend time on, and was only ever intended for my own use. It turned out to be the lynchpin for our project, got published in a peer reviewed journal, and has since gone global. I found out later that one of my undergrad computer science profs had solved the same problem 20 years before I did, in a more elegant way, and published it in a good, but non-science, journal - no one has ever heard of it.
Neither of us had the expectation that our software would amount to much. I would define the prof's work as 'successful' - he published a paper on an interesting academic topic. I would define my software as 'wildly successful' - I got an unexpected publication and a global (if small) user base, along with a reputation for fixing problems that would later get me a good postdoc position.
This isn't really an academia question. The most common advice in the open source community is 'scratch an itch'. Write something to fix a problem you see. If you write good stuff, maybe your code will become 'successful'. Or, maybe your afternoon worth of hacking will just turn into an afternoon worth of experience you can apply to the next problem.
-V-
Who can decide a priori? Nobody.
-Sartre
FWIW. ROOT is a data-analysis framework/toolbox that was originally developed by a few guys at CERN and is now used all over the work in research. Mostly in fundamental physics, but I believe there are a few companies that use it as well (see the website). The papers application is another interesting example...
I guess gnuplot and xmgrace fall in a similar category. There must be specialised utilties/toolboxes in other fields as well, but I would not know where to look.
Apache Mahout is based on a Machine Learning using MapReduce paper by Andrew Ng (Stanford)
Image Processing and Analysis software from Clark Labs, Clark University. Originally written to illustrate concepts to geography students back in the 1980s, IDRISI is now used worldwide for spatial analysis, decision support, time-series analysis, image processing, global environmental trends modeling, land-change modeling, etc. Current version 17.0, the Taiga edition. IDRISI is named after medieval Muslim cartographer Abu Abd Allah Muhammed al-Idrisi (1100-1166 A.D.).
Evolutionary Computing for Java is pretty much the go-to framework for playing with Evolutionary Computing, and it came out of GMU.
In my field (molecular dynamics), nearly all of the major codes are from academic groups: Gromacs, Amber, Charmm, NAMD... About the only one I can think of that isn't is Desmond, which is from a private (but non-profit) research institute.
"I'm too busy to research this and form an educated opinion, but I do have time to tell everyone my uninformed opinion."
Havok is a physics engine commonly used in video games. It was originally developed by Steven Collins while at Trinity College in Dublin.
Crafty Chess Engine
http://www.craftychess.com/
disp('Matlab')
Bjarne Stroustrup worked at AT&T when he started C++ but he landed at Texas A&M shortly after.
ImageJ
CellProfiler
Open Microscopy Environment
Hugin
Micro-Manager
R
OK, it doesn't actually fit the question, since it asked about "universities' labs", but it was the first thing that popped to mind.
I won't go into the details here, since you can read it at Wikipedia, but Oregon Trail started at a school, then went to MECC, which was state-funded.
http://en.wikipedia.org/wiki/The_Oregon_Trail_(video_game)
http://en.wikipedia.org/wiki/Minnesota_Educational_Computing_Consortium
I seem to remember the Java thread pool libraries came from the State University of New York at Oswego; now I see that were written by prog. Doug Lea and it looks like they have been absorbed into the Java standard library (java.util.concurrent).
[Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
The Aloha packet protocols are the basis of cellular digital phone communication.
Tcl/Tk began at UC Berkeley.
I don't know if anyone has mentioned it yet- too lazy to read through the hundreds of responses.
Spice was developed at UC Berkeley. It is the basis of dozens of commercial time domain circuit simulator programs.
You can get a great one for free from Linear Technology- it used to be called switcherCAD, they now call it LTSpice.
Get it here: http://www.linear.com/designtools/software/
You might want to take a look at the ACM software systems award recipients:
http://en.wikipedia.org/wiki/ACM_Software_System_Award
Most of these systems were developed in academia and they all either were widely used, or had a big impact on software that became widely used.
I do agree that a Ph.D. in computer science often coincides with a piece of software that will never be used again. The point of the software is usually to prove a point, rather than to be useful to a wide audience.
VLC media player come from Ecole Centrale de Paris.
I work in the field of natural language processing (NLP), and it's becoming increasingly common that research software in my field is released, if not outright developed and hosted in open environments like Google code and on github. This has changed considerably in the last 10 years, and it's the result of the confluence of several factors: 1) some software releases resulted in huge numbers of publications for the original authors' research, so it has been seen as a way to get people to cite you / use your methods; 2) a remarkably harmonious field where "trade secrets" don't play a big role; 3) multiple conferences each year where people tend to publish relatively incremental work (encourages starting from baselines you or others have established rather than reinventing the wheel each time); 4) large amounts of funding for cross-university projects by DARPA/DOD/NSF, making sharing code and data across sites important; 4) online tools for managing code repositories with backups, history, etc. that are easy to use and provide extra services you don't typically get from a university IT department (e.g., github's awesome web repository browser). I think other fields work quite differently, but to a certain extent, I think we just lucked out because a few leaders in our field adopted the open model early on (interestingly, I think because they were lazy and being open is less work than being closed, rather then because of any ideological conviction). Other fields that are more relatively closed could probably transition if leaders in the field started releasing their software.
This being said, our field isn't producing much "high-quality" software. It's research code, meant mostly for researchers. Quite different from X, BSD, Postgres or the examples I'm seeing mentioned above.
If you want examples of relatively "successful" software in my field, measured by people who are using it as an application without being researchers themselves: there's the Moses translation system, the Stanford Parser and NLP tools, and the Berkeley Parser.
Isn't the first one that comes to mind the world wide web? CERN is definitely academia. I'd imagine many other protocols originate in academia. Any idea about SMTP, Usenet, etc.?
BSD, X11, Mach, PostgreSQL, and SSH were all explicitly academic projects.
There is also a question about what qualifies as academia beyond simply universities and government labs. Linus Torvalds started Linux while a PhD student but later landed in industry. Bjarne Stroustrup worked at AT&T Research when he started C++ but he landed at Texas A&M shortly after.
Virtually all programming languages originate in or near academia : Lisp was MIT. Python was started at CWI. Haskell. OCaml. etc. Among the non-academic languages most originate within huge organizations who's research departments start to resemble academia : Smalltalk was PARC. Fortran and Cobal were IBM. C was AT&T. Erlang was Sony. etc. Java and Perl were seemingly further from academia, but academia's influences upon them abound.
Afaik, all computational libraries used for serious numerical programming, like stock trading, computational fluid dynamics, etc., were developed in academia.
The Christian religion has been and still is the principal enemy of moral progress in the world. -- Bertrand Russell
Facebook.
There is now.
Pico and Pine are from some Washington University if I recall correctly. And the Sphinx voice recognition software is from CMU.
By Paul Asente of Adobe. MIT decided to use it as its GUI platform and productionized it.
TeX
GIMP was the project of a couple of Berkeley CS students.
I think they may even have been undergraduates.
Tripwire (Purdue), LDAP (Michigan), Red Lamda (Florida), etc.
There are many other factors, does anyone have favorites? Note that not all academic software is destined to be used outside of academia or to even survive past the end of the semester. That's ok.
Our software Hot Potatoes has been in wide use in language teaching since the late 1990s. It was commercialized initially, but is now free, and it was developed in the University of Victoria's Humanities Computing and Media Centre. We used to track registrations, but we stopped counting at about half a million. It's not currently in development, but we do bug-fixes. I think you could classify it as successful it made a profit, both for the University and the spin-off company we created for it, and became for some years an industry-standard tool for creating teaching materials for the web.
Adding to the list above, I think 'R' started its life at an academic institution. But more to the point, I use a data-analysis package developed by an academic group that's in use by about 1000 researchers globally. That actually covers most of the market. So it's a huge success, but even at market saturation it'll be such a small distribution it'll never get noticed by more people. Interestingly enough, it was developed because the competing software application made by a vendor is terrible and made without user input or testing real-life examples. The academic software package was developed by users for users. Still, a very large swath of the user population prefers the vendor solution soley because they're 'used to it' or because it's from the vendor (inertia to change in software is at all levels, not just the OS).
Just to nitpick a bit, Erlang was developed by Ericsson, not Sony.
The thing is that most bioinformatics tools are research tools. They are built for a purpose, to achieve an experiment. People are often pejorative about research software, but it's not built to be sold, shipped and widely used. It's built to answer a specific need for a short term, until we have the data.
So no, most software doesn't get "out", but then why would you expect to go down the shop and buy a shrink-wrapped version of the latest next gen sequencing alignment tool. Does it ever get used? Yes, it gets used by the 20, or 200, or 2000 people in the world have access to the sort of data that you might want to use an alignment tool on. Does it have a long-life span? No, not usually, but why is that a metric.
Counter-examples, though, would be tools like tex, which have been around for ever, and which are widely used, even if used behind the scenes now, or from bioinformatics, I suspect we will still be using BLAST in 20 years time. It's used in academic, in health care and in forensics.
Not sure if this counts, but NASTRAN originally came from NASA's R&D development and has ended up being used as the basis of most of the american based FEM packages.
The thing here though is that most of what we are looking at here (other than BSD itself which is ancient compared to some pieces, and from a different economic environment) are very special purpose limited (but valuable) use applications. So I wouldn't expect them to get much traction in the commercial environments.
SPSS grew out of Stanford University in the 1960s, bought by IBM for $1.2 billion in 2009. SAS, which grew out of NC State, is the world's largest privately held software company.
GENERATION 26: The first time you see this, copy it into your sig on any forum and add 1 to the generation.
Erlang = Ericsson
As far as I know, Linus started on it as a student, while still at University
SUN actually got it's name from Stanford University Network and SunOS started there as did Cisco. The first Cisco prototype router was built there. And did not Google start there as well? And wasn't Yahoo's first page hosted on Stanford's hardware and started there as well.
Comment removed based on user account deletion
Gaussian. John Pople won the Nobel prize in Chemistry for developing this. It eventually became a company and incorporates lots of academic work.
In other words, the code may be ugly, and the code may be brittle, but do academics run validation tests?
I'm pretty sure anyway
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.
People have done a great job, for a another take on it, look at the ACM Software System Award
http://en.wikipedia.org/wiki/ACM_Software_System_Award
PS Don't forget Internet Gopher !!
MATLAB came from University as well didn't it?
In the early 1960s, the Biostatistics Unit of the School of Medicine at UCLA developed BiMed (or was it BiMd). This was a package of statistical analysis applications that ran on a main-frame computer before the advent of desktop computers, the Internet, or client-server systems. It was widely requested by medical and non-medical researchers, not only at universities but also at various corporations. BiMed went through several versions. No, I don't know whether BiMed still exists today.
MetaCrawler was originally developed in 1994 at the University of Washington by then graduate student Erik Selberg and Associate Professor Oren Etzioni. This is a meta-search engine that sends queries to other seach engines. If you want to search Google, Yahoo!, Bing, and a few others all at once, your query at MetaCrawler uses all those. As with other software developed in universities, MetaCrawler is now owned by a for-profit company. Nevertheless, I still use it. It's at http://www.metacrawler.com./
Eclipse now includes SAT4J to manage package dependencies (because the easiest way to handle dependencies is clearly to reduce it to an NP-complete problem ). There are countless PhD, research papers and projects (and a lot of smart hacking by Daniel Le Berre) that went into this. There is talk of aptitude integrating a similar solver. Plus there is widespread use of SAT solvers in hardware design. Thus most times you use a computer you are depending on all of the academic work done on SAT solvers (and related fields).
The question also kind misses the point a bit. Academia isn't necessarily there to turn out finished products (although many academics do, see FindBugs, Valgrind, etc.) it's about ideas. In lots of cases there is commercial software that is a straight out rewrite of bits of research software. Without the research to show what works and what is possible, no one would have even tried to create the commercials version. Almost everything you implement that is 'routine' or 'everyone does that' was likely at one point a piece of research. When you call a sort algorithm or use an associative array, hell even the concept of an interpreter or a high level language, you are using things that were once research software.
Kermit, from Columbia University, was at one point the most popular file transfer program (probably). McGill University's MUSIC enjoyed success as a time sharing system. The Logo programming language originated at BBN in Cambridge, so its academic roots are a bit fuzzy, but it was at one time the most popular instructional tool in computing for children. PLATO, from the University of Illinois, became very successful and invented (or at least popularized) numerous computer-based services we now take for granted, such as online forums and instant messaging. Model 204 originated in academia and runs Australia's social security system, among other things.
Erlang was started at Ericcson.
Mod parent as troll
Google's software/architecture was developed in academia wasn't it?
Samba - Australian National University
Emacs?
From Cleve Moler's "The Origins of MATLAB" --
"In the late 1970s, following Wirth’s methodology, I used Fortran and portions of LINPACK and EISPACK to develop the first version of MATLAB."
http://www.mathworks.com/company/newsletters/news_notes/clevescorner/dec04.html
Well, the genere of automated config management based on convergence pretty much owes its existence to Mark Burgess's thesis, and Cfengine is his implementation of promise theory. Now you've also got Puppet - which basically exists because Luke didn't like the way Cfengine was going (my opinion may vary), and Chef because that guy didn't quite like how Puppet worked. And several others which are probably listed in a table on Wikipedia or something.
And if you're a sysadmin completely unfamiliar with those, you should rectify that situation now. You're doing too much work.
Off the top of my head: rsync, sqlite, ANTLR, LLVM, Ragel
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.
The Christian religion has been and still is the principal enemy of moral progress in the world. -- Bertrand Russell
don't forget pine!
Erlang is Ericsson.
-- SouNerd.com
One could also argue that cloud computing really owes its beginnings to the grid computing effort, which was driven by academic work.
In addition to Eucalyptus (previously mentioned) which came out of UC Santa Barbara, OpenNebula (http://www.opennebula.org/about:about) came from the DSA Research Group (http://dsa-research.org/doku.php) at Complutense University of Madrid
Some projects go hand-in-hand with research and industry. Typically they see the light from day one. As examples from the IETF standardization, For example:
CoAP implementations (HTTP for sensors):
Host Identity Protocol (end-to-end VPN):
IPv6-to-IPv4 NATs:
Not really claiming that these projects are all yet a wild success but they were open-sourced in their early stages to enable open experimentation.
Erlang, as the ERicsson LANGuage, was definitely not from Sony...
Erlang was Sony.
Erlang is and always have been developed at Ericsson.
VLC started off at Ecole Centrale Paris and may still have maintainers out there...
(though it was more of a student fix for their own problems than a thesis of some kind, I think codecs were grown in academia...)
>Erlang was Sony
Say what?
I guess this thread is a good start for writing a wikipedia page of "Successful Software From Academia" .
(Likely to be linked with some OSS pages)
Any volunteer ?
Yes - the two companies have a joint venture that produces mobile phones, but they haven't merged.
Need to type accents and special characters in Windows? Use FrKeys
Shibboleth, an open source SAML implementation) and Grouper (a tool for, surprisingly, group management) came out of university consortium efforts at internet2.edu
Science is like sex: sometimes something useful comes out of it, but this is not the reason we are doing it.
The role of academia is not to produce successful widgets, it is to produce successful ideas. As it turns out, in computer science, ideas are embodied in software, some of which eventually is picked up somehow and becomes successful. However academia shouldn't be judged by its capacity to produce widgets, this is entirely the wrong metric. It is engineering's role to turn ideas into products and services. This doesn't mean PhD graduates can't go on to become successful engineers, on the contrary, they might better understand the whole lifecycle from great idea to great product.
Cheers to all.
Some of my undergrad courses used WebCT... god that was awful software.
SPSS - http://www-01.ibm.com/software/analytics/spss/ - Was developed by students about 40 years ago, and is still going strong under IBM.
and then it was big enough to be bought (and put out to pasture to die) by Blackboard...
I wish. WebCT is alive and well, and still in use at many universities and other colleges. I have seen it in use over 12 years of academic life, since it seems to have become a fixture at my uni. That doesn't stop me hating it, though.
Erlang was Sony.
Huh!
Erlang = Ericson Language
Ericsson developed Erlang in the 1980's, about 15 years before they had a joint venture with Sony. Sony, Ericsson and Sony-Ericsson are different companies. Sony (an consumer appliances maker) and Sony-Ericsson (a mobile phone maker) have nothing to do with Erlang, as far as I know these companies don't even use it in any product or production, Ericsson (a maker of communications system, the worlds largest, the first maker of automatic telephone systems in the 1870's, the ONLY maker of automatic telephone systems for about 40 years) on the other hand, use it in most of its products.
Even before Sony-Ericsson, the mobile cell phone manufacturing that Ericsson started in 1954 (yes, nineteenfiftyfour) was never more then a side project, something to show off the communications systems with and something to keep in touch with the customers customers. In 2001 they started the joint venture with Sony and ceased production of their own mobile cell phones, because the cost of making mobile phones had increased as they had become increasingly popular outside Northern Europe since the late 1980's. The only large manufacturers of mobile cell phones at that time was Ericsson and Nokia (wow, it is only a decade ago, how the world have changed) and Ericsson wanted more mobile phone users in the world to sell more of their mobile phone systems. It was believed that Sony's expertise in making consumer products would improve the mobile phones user interfaces and their expertise in making large quantities of consumer appliances would reduce manufacturing cost.
Small correction: Erlang was another part of SonyEricsson :)
Umm, Erlang == ERicsson LANGuage, no? Wikipedia thinks so (today, anyway :-)
While there are former U.Wisc. Condor staffers at Redhat now, and Redhat is a major contributor to the Condor project and has much invested in it, it is most definitely owned and operated by Miron Livny and the U.Wisc. computer science department. There's a large group of staff and students there that run the project and add the bulk of the new features to Condor. Anyhow, Condor is definitely an academia project with huge success that comes to my mind.
Exim MTA - http://exim.org/ - may still be the default sendmail-replacement in quite a few ditros.
Nick Waterman, Sr Tech Director, #include <stddisclaimer>
Google, bumptop are created in univs.
RTAI - Politecnico di Milano