LWN.net Logo

Advertisement

E-Commerce & credit card processing - the Open Source way!

Advertise here

Where have the universities gone?

When Greg Kroah-Hartman talked about the provenance of Linux kernel code at the Ottawa Linux Symposium, one member of the audience asked about whether contributions from universities were tracked. The answer is that universities were handled like any other source and tracked accordingly. If code is contributed by somebody who works for the university (a faculty member, in other words), the university is credited as having supported the work. Contributions from students tend to be treated as "hobbyist" work, but there are few significant contributors who fall into this category. There is, in fact, very little code coming from the university environment in general. Your editor was able to find exactly five files in the 2.6.23-rc1 kernel tree which contain a 2007 copyright credited to a University.
Advertisement

It was not always that way; universities used to be heavily involved in the creation and distribution of free software (though it did not originally carry that name). The BSD Unix distribution - the first to support virtual memory and drive VAXen worldwide - came from the University of California at Berkeley. Linux became the master's thesis for one Linus Torvalds. The X Consortium grew out of a project at MIT - it was part of Project Athena, which was the source of much interesting work. The GNU project has its roots at MIT as well. Alan Cox did much of his crucial early Linux work while at Swansea University. Ted Ts'o, another important early contributor, was based at MIT.

Looking further back, graybeards among us will remember the influential WATFOR Fortran compiler from the University of Waterloo. Much interesting work (and code) came from the Andrew project at Carnegie Mellon University. Two of your editors got their start at the University of Colorado working with a project called Toolpack, creating Fortran developer tools; their names can be found in this old report [PDF]. The list goes on at some length. Over the years, we have all been the beneficiaries of a great deal of creativity (and code) to come out of the university environment.

While there are still interesting projects happening at universities, the flow of code has nearly stopped. This seems strange; one need not dig too far into the curriculum at most computer science departments to find operating systems classes using Linux as a teaching tool, but these same computer science departments are, as a whole, not contributing back changes to that tool. This is a large and rather unremarked-upon change in how free software works; it would be interesting to understand what force is driving this change.

Your editor has spent a few weeks querying contacts in the academic world, but the amount of useful information coming back is surprisingly small. An "I don't know" answer from a computer science department chair was not expected. So, rather than provide definitive answers, your editor will have to engage in some definitive handwaving.

One obvious change is that the amount of code coming from the corporate environment has grown from nearly zero to something huge. As the proprietary software idea took over the industry, the idea that a company would give away its code came to look similar to the notion of opening up its bank account to all comers. At the same time, individuals rarely had the resources to develop and contribute code themselves, and the supporting community was not there. So universities were about the only real source for freely-circulated software. Thanks to the culture of openness in academia, passing that code around (and improving it) seemed like a natural thing to do.

Unfortunately, that code of openness has suffered somewhat in more recent times. In many parts of the world, universities are able to privatize and commercialize interesting work, even if that work was funded by public money. University researchers have strong incentives to put their energy (and their code) into startup companies instead of contributing that code back to the community. Look, for example, at the story of the Stanford Checker, which was initially built on gcc. Rather than contribute that code, the developers created a private company (Coverity) to commercialize it. The community has certainly benefited from Coverity's work, but we still do not have a static analysis tool with anything near the power of the erstwhile "Stanford Checker."

The same commercial forces almost certainly have the effect of drawing effective developers out of the university environment. Talented students who might once have gone on for advanced degrees or continued to work within the university are likely to have plenty of more lucrative options elsewhere. This will be especially true for those who have demonstrated that they can create useful, production-quality code. So, perhaps, it is not surprising that many of the most productive free software developers are no longer found at universities.

Another disincentive for university contributors is that few free software projects are interested in prototypical or overly experimental code. A potential kernel contribution must be rock-solid, well-benchmarked, with well-defined needs and users. A university project may explore an interesting idea far enough to generate the required publications, but the resulting code is likely to be far from ready for mainline inclusion. It may well be that, for many university researchers, there is no real reason to make the effort to get their code merged, even if the work would be useful in a more practical environment. Funding agencies and tenure committees do not normally consider community contributions when making their decisions.

Code contributed to the community also requires ongoing maintenance, something which many university environments are not well prepared to support. Graduate students move on to other challenges, and faculty go on to the next project. It is hard to write a successful grant application for maintenance work. So interesting code has a real chance of simply being dropped once the research objectives have been achieved - or the funding has run out.

So there are a number of reasons for the reduction in university participation in the development process. That participation has certainly not fallen to zero. We can thank the University of Michigan for much of our NFSv4 code. A lot of USB work has come out of the Rowland Institute at Harvard. Much of the early eCryptfs work happened at Stony Brook University. The University of Waikato has contributed to the DCCP protocol implementation. The Helsinki University of Technology works with the IPv6 code, as have the University of Tokyo and Keio University. These are just a few recent contributions to the kernel; clearly, the scope of university contributions to the community goes far beyond that. But these contributions are buried by the code coming from other sources. For better or for worse, the period when universities were the source of a large portion of our free software code base would appear to have passed. But that period left us with a strong foundation on which to build the systems we have today.


(Log in to post comments)

Where have the universities gone?

Posted Jul 24, 2007 18:51 UTC (Tue) by JoeBuck (subscriber, #2330) [Link]

That's the University of California at Berkeley (UCB), not Berkeley University. It's not only the birthplace of BSD, but also of Tcl/Tk, the Gimp, and large amounts of electronic design automation software.

There's been increasing pressure on universities in the US to try to turn their research into funding, and even at institutions with a long history of free software development (e.g. UC Berkeley) there's often internal pressure on professors and grad students to work with the university's licensing office to try to bring some money in, with the money divided between the university and the relevant professors and research teams.

Berkeley

Posted Jul 24, 2007 18:55 UTC (Tue) by corbet (editor, #1) [Link]

Sigh, I knew that. I blame the fact that my last visit to UCB was to see a Grateful Dead concert... Fixed.

Bayh-Dole?

Posted Jul 24, 2007 21:01 UTC (Tue) by dmarti (subscriber, #11625) [Link]

What about Bayh-Dole, the "Turn Universities Into Patent Trolls Act"? After Bayh-Dole passed, US universities seem to have spent the 1980s ramping up their licensing departments.

Also, how many of the "amateur" and "unaffiliated" developers are really university-affiliated, but contributing under another email address? Some people do Free Software work that counts as a project for the university, but host it or contribute it in a way that's not easily traceable to the university.

Bayh-Dole?

Posted Jul 24, 2007 23:50 UTC (Tue) by JoeBuck (subscriber, #2330) [Link]

I had considered mentioning Bayh-Dole, but a lot of university free software came out after it was passed, so its impact is sometimes exaggerated.

Bayh-Dole?

Posted Jul 25, 2007 1:24 UTC (Wed) by dmarti (subscriber, #11625) [Link]

But big institutions can sometimes react slowly to changes -- maybe universities needed time to tighten policies and staff up their licensing departments after Bayh-Dole was passed.

(If you're at a university, maybe you should find an existing project under a reciprocal license and contribute to that instead of starting your own.)

Bayh-Dole?

Posted Jul 26, 2007 1:07 UTC (Thu) by njs (subscriber, #40338) [Link]

Well, I can say one thing on that, as someone who's signed UC intellectual property forms: the idea of code copyright the UC Regents being released under a free license today is... implausible. I'm sure it happens from time to time, but only if there are particular sympathetic PIs/managers involved. I suspect that some of this code is still making it into free software with a personal copyright attribution on it instead of the UC Regents copyright attribution, but at that point it disappears from an article like this's statistics.

A similar problem for these statistics is simply that there are more email providers these days. It used to be you took the university's email address and were grateful, but these days most of my classmates' emails are @gmail.com or the like. People hacking on a company's dollar are going to use their official company email address as per official or unofficial policy; students slacking off from studying don't have any comparable incentive; that could skew things.

Where have the universities gone?

Posted Jul 24, 2007 20:39 UTC (Tue) by mmarsh (subscriber, #17029) [Link]

Even more than the pressure to commercialize is that, at some universities, the approval to release code as free software comes from the tech transfer unit, which will only approve the release of software that it doesn't think will turn a buck. So it's often not a question of whether a faculty member *wants* to release something as free software, it's whether he or she will be *allowed* to, and the number of hoops through which to jump in order to do so. With all of the other obligations under which faculty labor, releasing code often just falls by the wayside.

Where have the universities gone?

Posted Jul 25, 2007 19:55 UTC (Wed) by jonabbey (subscriber, #2736) [Link]

Yeah, it's gotten much more rigorous, the hoops you have to jump through to get to release open source software. If I want to so much as publish a GPL'ed Perl script, I have to prepare a notification packet and send it off to the Campus Intellectual Property Committee so that they will know that the material has been released.

I can still do it, to be sure, but the effort required really does throw a not insignificant bit of friction into the process.

Where have the universities gone?

Posted Jul 26, 2007 14:09 UTC (Thu) by grantingram (subscriber, #18390) [Link]

Of course the FSF have had something to say about this: Releasing Free Software if you work at a University. This essay suggests two useful strategies:

  • Start from an existing copyleft code base
  • Put something about dissemination/code publication into the grant application
Though I suspect that the root of the problem is one of changing motivations and culture rather than simply approval procedures.

Where have the universities gone?

Posted Jul 24, 2007 18:57 UTC (Tue) by stevef (subscriber, #7712) [Link]

I wonder if for many components needing the most work in Linux there is a significant skill/expertise barrier which inhibits/intimidates many University students.

Where have the universities gone?

Posted Jul 24, 2007 19:41 UTC (Tue) by superstoned (subscriber, #33164) [Link]

Nah, I find that hard to believe. Sure, for many things it's true, but
there is enough software out there where one can start hacking on while
still green...

Where have the universities gone?

Posted Jul 25, 2007 12:20 UTC (Wed) by willy (subscriber, #9762) [Link]

If that is so, then we are failing. To quote Documentation/CodingStyle:

However, if you have a complex function, and you suspect that a
less-than-gifted first-year high-school student might not even
understand what the function is all about, you should adhere to the
maximum limits all the more closely.

There's lots of work that needs doing, much of it not rocket-science.

Where have the universities gone?

Posted Jul 26, 2007 1:09 UTC (Thu) by njs (subscriber, #40338) [Link]

The kernel is also done, in large part... not completely by any means, but I bet a bunch of people that in the past would have contributed to the kernel are contributing to desktop apps and the like instead. That's a good thing.

Universities go against the trend

Posted Jul 24, 2007 19:05 UTC (Tue) by atai (subscriber, #10977) [Link]

Indeed while the free software movement turns the tide around outside academia, universities are where the rise of the proprietary software model continues.

Universities go against the trend

Posted Jul 24, 2007 19:21 UTC (Tue) by khim (subscriber, #9252) [Link]

Indeed. I've talked about this with quite a few newgrads and everyone agreed that it's easier to get permission to publish something in commercial company (even in Microsoft!) then in University.

Why ? The problem is lack of focus. With commercial company you know what your company does and if the piece of code is not related to core business of said company and it's not likely that it'll give you advantage over competitors in the next 2-3 years - then it's easy for a manager to give you approval: not much harm can be done, but it'll raise goodwill and may be even give us some contributions back, go for it. But in university - it's other story: there are no "core business" and so any valuable contribution will be held back in the hopes that someone will buy it. It's just easier to forget about chunk of your life then to fight this system. Sad, really...

lack of involvement in the kernel != lack of involvement in free software

Posted Jul 24, 2007 19:08 UTC (Tue) by stevenj (subscriber, #421) [Link]

The editor seems to make an unwarranted leap: from the (near) lack of university-copyright files in the Linux kernel, the editor seems to conclude that "university representation in the stream of free software contributions has fallen to much lower levels." The Linux kernel is a rather unusual piece of software in many ways, and is not something you want to use to draw conclusions about free software in general, I suspect.

Although it is certainly true that corporate contributions to free software have increased by leaps and bounds in the last 15 years, so that the fraction of work being done at universities has decreased, I'm much more skeptical that the amount of free-software work being done at universities has decreased in absolute terms.

I know that in my own field of numerical computation, a large number of the major free packages (and not just those from 20-40 years ago) originate and/or are substantially supported by universities.

lack of involvement in the kernel != lack of involvement in free software

Posted Jul 24, 2007 20:35 UTC (Tue) by kh (subscriber, #19413) [Link]

I was thinking the same thing. I see a number of GNU projects from major universities - just not with the kernel. Some quick examples that come to mind - I think UT (Austin) has a policy that all software developed is released under the GPL by default - they have some network management tools in general use. UW (Madison) has GNU Octave

Your BSD example - the code was (mostly?) controlled by one university - which makes for easier scheduling - much like my GNU Octave example above. Maybe that makes smaller projects more desirable.

lack of involvement in the kernel != lack of involvement in free software

Posted Jul 25, 2007 20:00 UTC (Wed) by jonabbey (subscriber, #2736) [Link]

I think I wrote those network management tools you're referring to, actually. ;-)

UT Austin has approved (but not mandated) the GPL for software release, so long as the designated reviewer at the college level in the org chart signs off on it, and it is believed that the software is not, for some reason, likely to see success as a commercial product. This can be due to it not being designed along commercial product lines (as in our tools, which require a significant amount of systems administration integration work by the adopter), or it can be due to the scope, research vs. application intent, etc.

As I said above, we can still get code out there, but it's not something that can just be done on a whim.

lack of involvement in the kernel != lack of involvement in free software

Posted Jul 24, 2007 20:35 UTC (Tue) by fjorba (subscriber, #6175) [Link]

I fully agree; in my own field (digital libraries) most of interesting software comes from universities and research institutes, plus some public and national libraries too. Applications that are either production-ready and/or full of innovative ideas.

"for research purposes only" is common

Posted Jul 24, 2007 23:53 UTC (Tue) by JoeBuck (subscriber, #2330) [Link]

Many universities release software on a restricted basis, "for research purposes only" is typical, and they attempt to extract money if anyone is interested in using the software commercially. A lot of university electronic design automation software falls into this category.

lack of involvement in the kernel != lack of involvement in free software

Posted Jul 25, 2007 13:48 UTC (Wed) by zooko (subscriber, #2589) [Link]

I think this is because it is difficult to make academically novel and useful inventions in standard modern kernel design. Remember that the motivations of most academics is to get scientific results published. I suppose the linux kernel isn't a very good place to do science experiments.

lack of involvement in the kernel != lack of involvement in free software

Posted Jul 25, 2007 19:03 UTC (Wed) by tialaramex (subscriber, #21167) [Link]

Several projects of my old home the Electronics and Computer Science school of the University of Southampton are GPL'd including GNU Eprints. It's true though that there's pressure to commercialise. I think its necessary to approach those with the power to make such decisions and force them to make the choice, commercialise (perhaps without you) or free the code. Sometimes it's possible to do both, but it doesn't pay to confuse them with more options. Too often an interesting project just rots on someone's hard disk. If it's going to rot, at least let it rot on a SourceForge site where someone else might stumble over it and re-use it rather than on a postgrad's desktop machine where it probably isn't even backed up.

In my last research work at ECS I was working with some BSD origin code that had somehow acquired a "no commercial use" legend from some US university that had worked on it. I maintained a modified version half-heartedly for 6-12 months by which time someone had written something rather better from scratch under a Free license. Perhaps the rewrite was needed anyway, but I suspect not, such a waste.

Where have the universities gone?

Posted Jul 24, 2007 19:17 UTC (Tue) by jwb (subscriber, #15467) [Link]

I got my start hacking on free software from two different university organizations. First is the Unix Users Group, members of which generously helped me and my friends get started installing Linux on our PCs. In 1994 this was not as easy as it seems today. We also, as undergrads in the engineering school, had free access to large and small Sun systems, SGI supercomputers, and Alpha systems running VMS.

Secondly every department on campus had work-study jobs available to undergraduates and they were all quite willing to support the use of free and open source software in IT projects. I and my friends built a number of campus web tools in those early days of the web using NCSA httpd and Apache with Perl CGIs, and we contributed our work back to CPAN, Apache, and the mod_perl project.

So two hypotheses come to my mind. 1) Unix users groups are going away, and 2) university IT departments are now much more conservative. I see a lot of universities deploying off-the-shelf commercial software instead of building their own systems. No doubt this saves them some money but it also cuts off an educational opportunity for work-study employees.

use and develop, two different things

Posted Jul 24, 2007 19:37 UTC (Tue) by atai (subscriber, #10977) [Link]

Using free software may be easy because it is usually low cost. But universities seem less willing to make their own production free software, due to funding issues...

use and develop, two different things

Posted Jul 24, 2007 19:43 UTC (Tue) by superstoned (subscriber, #33164) [Link]

They may also just be conservative. Mind you, Universities at large are
generally not conservative, but many of the support departments providing
the facilities are. And IT has become a facility, not something special
you can play with...

Where have the universities gone?

Posted Jul 24, 2007 19:44 UTC (Tue) by allesfresser (subscriber, #216) [Link]

Computer science graduates these days (it seems) aren't what they used to be--at least in my experience. I've known several recent CS graduates who are quite proficient Java coders, but had no idea how to partition a hard disk. Call me a graybearded codger if you will, but a CS graduate who can't reinstall their own machine is a pretty sad artifact.

I attribute this to the narrow focus of a lot of CS departments these days; they seem to emphasize specific software package use skills (frequently those from and promoted by a certain company from Redmond), rather than the "liberal arts" education that CS used to be--teaching the subject with a broad brush, starting from fundamentals. The focus is on collecting buzzwords to put on a resume rather than real understanding of the subject. Very sad.

Where have the universities gone?

Posted Jul 24, 2007 21:29 UTC (Tue) by flewellyn (subscriber, #5047) [Link]

I'm a recentish (well, five years ago) CS graduate, and boy howdy, can I relate to this. I was
astounded, while in school, by the number of fellow CS students who had no interest in learning
about computers beyond what was being taught in the classes. A lot of them became Java
codemonkeys, but lacked experience with other languages and environments. In many cases,
they wanted to get jobs as developers, but weren't interested in the science of computation for
its own sake.

The best programmers in my classes, in my (admittedly biased) opinion, were the ones who
found computers and computing interesting in themselves; the geeks who, when they found out I
was teaching myself Forth and Lisp just for the sake of understanding them, showed an interest
in joining me, rather than asking "Why would you do that? There's no money in that these days."

Where have the universities gone?

Posted Jul 24, 2007 22:17 UTC (Tue) by allesfresser (subscriber, #216) [Link]

Larval stage is still a necessary rite of passage--otherwise you're merely a PHB in training. :)

Where have the universities gone?

Posted Jul 25, 2007 2:20 UTC (Wed) by flewellyn (subscriber, #5047) [Link]

Indeed! I spent a good long time in it.

Where have the universities gone?

Posted Jul 25, 2007 1:08 UTC (Wed) by JoeF (subscriber, #4486) [Link]

The best programmers in my classes, in my (admittedly biased) opinion, were the ones who found computers and computing interesting in themselves; the geeks who, when they found out I was teaching myself Forth and Lisp just for the sake of understanding them, showed an interest in joining me, rather than asking "Why would you do that? There's no money in that these days."

When people say that, I point to Paul Graham, who made a fortune with an Internet store system written in Lisp: http://en.wikipedia.org/wiki/Paul_Graham

Where have the universities gone?

Posted Jul 25, 2007 2:22 UTC (Wed) by flewellyn (subscriber, #5047) [Link]

Very true, although I did not know about that at the time. But I didn't start learning Lisp or Forth
(or Python, or the ins and outs of Linux) for monetary reasons; that's just a side benefit.

Where have the universities gone?

Posted Jul 25, 2007 7:00 UTC (Wed) by allesfresser (subscriber, #216) [Link]

Exactly the point. I don't feel compelled to answer that kind of remark, because I really just don't care. I hack on free software because I *like it* and I *believe in it*, not because it enriches me. Heck, it's probably actually done the opposite, if you count the opportunity cost. Oh well. :)

One has to make a living, it's true, but that's not the only reason for doing something. People have been plucking, screeching, whistling, hammering, and hollering away at music for quite a long time, just for the fun of it, not because they want to be the next U2 or Weezer or Whitney Houston (G*d help us), while working day jobs at the same time. They make the sacrifice of their spare time because they want to create something, to express themselves. In times past (before the all-rights-reserved meme infected the planet) they frequently would pass their works around and teach others to play them as well, because music only lives when people play it, and if only one person plays it, it pretty soon dies away. In the same way, people have also been hacking at software since the machines first crawled out of the slime, not necessarily because it made them wealthy (you need other skills for that) but because they found it enjoyable and challenging. Sometimes people happen to become wealthy through the exercise of their hacking or musical skills, but that's more an accident of fortunate coincidence and audacity than destiny. OK, I'll stop rambling now.

Where have the universities gone?

Posted Jul 25, 2007 8:20 UTC (Wed) by jmoellers (subscriber, #29863) [Link]

> People have been plucking, screeching, whistling, hammering, and hollering
> away at music for quite a long time, just for the fun of it, not because
> they want to be the next U2 or Weezer or Whitney Houston (G*d help us),
[...]
> Sometimes people happen to become wealthy through the exercise of their
> hacking or musical skills, but that's more an accident of fortunate
> coincidence and audacity than destiny.

Sadly enough, the current trend in (pop) music pretty much shows the point: Artists are nowadays casted, they are *made* rather than grown!

Where have the universities gone?

Posted Jul 26, 2007 11:48 UTC (Thu) by man_ls (subscriber, #15091) [Link]

When people say that, I point to Paul Graham, who made a fortune with an Internet store system written in Lisp
True, but the case is so isolated as to be the exception rather than the rule. Who cares anyway, at work I use Java but at home I only hack in Python.

Where have the universities gone?

Posted Jul 26, 2007 18:39 UTC (Thu) by PaulMcKenney (subscriber, #9624) [Link]

I saw the same thing several decades ago. Most people wanted to do the minimum necessary to get their degree, preferably with a decent GPA. A very few were interested in really honing their skills beyond what the curriculum required. This was the case both in Computer Science and in Mechanical Engineering, and I suspect that this has always been the case in almost all fields of study.

Where have the universities gone?

Posted Jul 26, 2007 19:59 UTC (Thu) by flewellyn (subscriber, #5047) [Link]

Tragic, but what can you do except try to advocate the alternative by example?

Where have the universities gone?

Posted Jul 26, 2007 20:13 UTC (Thu) by PaulMcKenney (subscriber, #9624) [Link]

(1) As you say, lead by example.

(2) When people ask you what they need to do to be successful, tell them that they need to not merely learn about their field, but to also become fluent in the practice of their field. In other words, you need to have mastered the basics to the point where it just flows. Typing, working the editor, producing the code, ...

People who are in a position to hire or otherwise select contributors have other tools at their disposal.

(Full disclosure: I split the difference, going quite a ways beyond the curriculum in computer science, but not so much so in mechanical engineering.)

Where have the universities gone?

Posted Jul 24, 2007 23:32 UTC (Tue) by bugmenotplease (guest, #45475) [Link]

You make the mistake thinking that computer science has something to do with computers (or worse, programming).

computer science vs. computers

Posted Jul 25, 2007 1:54 UTC (Wed) by stevenj (subscriber, #421) [Link]

A friend of mine in CS likes to say that the part of computer science that is about computers isn't a science, and the part that is a science isn't about computers.

computer science vs. computers

Posted Jul 27, 2007 18:48 UTC (Fri) by giraffedata (subscriber, #1954) [Link]

Edsger Dijkstra, the greatest software scientist that ever lived, said: "Computer science is as much about computers as astronomy is about telescopes."

I agree, but we all know that a "computer science" undergraduate education is mainly intended, and implemented, as software engineering vocational training.

Where have the universities gone?

Posted Jul 27, 2007 11:22 UTC (Fri) by dps (guest, #5725) [Link]

I was a while ago, but I have 3 degrees in CS (BA, MSc and PhD). None of them either featured operating system installation or the use of specific software to any significant degree. Oxford university is still a major theory center their dergees reflect this and concentrate on formal methods. A typical item included in the course is moderately complete treatment of CSP, which can be used to analyse parallel systems.

Pushed to the limit you can do theoretical CS without ever using a computer, although most people are required do their own typing.

Incidently I have used CSP in anger. My PhD thesis states a component design and proves a deadlock freedom result about those component connected in any way whatsoever (which can include any sort of cycles). You can find a lightweight implentation of the design on sourceforge. Currently documentation is limited to the appropriate sections of my PhD thesis and a set of man pages.

My first linux box ran SLS 1.03 (kernel 0.99pl13 or earlier) and was a "high spec" box (486DX2/50 with 8Mb of memory).

Where have the universities gone?

Posted Jul 24, 2007 20:08 UTC (Tue) by error27 (subscriber, #8346) [Link]

It's an interesting topic.

Maybe it's just that computers are so new. During the 90s most free software programmers were younger. Now they've graduated but haven't left.

What about the google summer of code?

Also programming useful things is harder now. Before Linux had no apps but now most things are there so it takes longer to create something new.

Still, it's important to make sure that university students get plugged into the community.

they are writing Linux code, but not releasing it.

Posted Jul 24, 2007 20:38 UTC (Tue) by dlang (subscriber, #313) [Link]

I was at the Usenix conference last month and there were several very interesting presentations from students relating to enhancements for Linux. not one of them had the code available (under any conditions), let alone attempted to get it merged.

I brought up the issue with the Usenix staff and they acknowledged that this is a problem and started talking about releasing the code becoming a requirement (ar at the very least, very strongly encouraged) in the future.

when I asked the students about availablity of their code I got the responses "I'm too busy to release it", "the code isn't clean enough to let anyone see it", "I'll release it 'soon'", etc (note that these are the same things you hear from companies about releasing their code)

I think it's a general problem, not university specific.

they are writing Linux code, but not releasing it.

Posted Jul 24, 2007 22:40 UTC (Tue) by JoeF (subscriber, #4486) [Link]

For graduate students, that's rather normal. Grad students need to write papers, and the code has just to be good enough to run, so it often is prototype quality. Some universities have staff programmers who actually clean up the code and make it release quality.
Grad students who submit code to major projects like Apache usually have a personal interest outside of their studies for that (sometimes it leads to the topic for the PhD thesis.)

they are writing Linux code, but not releasing it.

Posted Jul 25, 2007 13:56 UTC (Wed) by zooko (subscriber, #2589) [Link]

Scientific work should come with source code, not because of the value of Free Software, but because of the older value of Reproducible Science.

Referees should reject as "unreproducible" any results which require source code if that source code is not included with the results.

they are writing Linux code, but not releasing it.

Posted Jul 25, 2007 17:28 UTC (Wed) by khim (subscriber, #9252) [Link]

Referees should reject as "unreproducible" any results which require source code if that source code is not included with the results.

This is strange approach. Source code usually can be regarded as an equipment - and any reproduction where the same equipment is used can not be called independent! So if you want to talk about science and not alchemy then you must write your own code...

they are writing Linux code, but not releasing it.

Posted Jul 26, 2007 20:20 UTC (Thu) by amikins (subscriber, #451) [Link]

On the contrary; source code is in its essence a set of steps necessary to complete a task.

Can you call any results "reproducible" if you don't have all the steps used to attain the result?

Unless you're publishing or citing a full and -very- well documented algorithm, including the source code is critical for proper science.

they are writing Linux code, but not releasing it.

Posted Jul 26, 2007 1:25 UTC (Thu) by njs (subscriber, #40338) [Link]

I fully agree, but it's going to take a while -- we're only now reaching the point where results in *any* area of science are habitually released alongside with raw data, and the practice is only now spreading beyond the medical/biology journals where it started. For the vast majority of papers in any field, it's completely impossible to double-check the conclusions.

It's going to be a big pain, too. Remember that in many cases, critical pieces of code are not even written down anywhere, just some series of commands were run in a terminal (or by clicking in a GUI!), and then the number shown on the screen pasted into an article. Or what code that is there, has pervasive and hard-wired assumptions about the particular way the author organizes their home directory, and unmentioned assumptions about how exactly they organized their raw data in said home directory. And so on...

(This would all be *much* *easier* if there were better tools. Where's the R/matlab/numpy-like language that automatically tracks which operations are applied to produce each piece of data, so that after an interactive session you can always walk back through the various intermediate expressions that produced each variable (and graph, and etc.) in your workspace? It's not like this would be computationally expensive, these days, but you can't really fake it if you aren't playing around in the language guts, either.)

Data Processing.

Posted Jul 26, 2007 14:20 UTC (Thu) by grantingram (subscriber, #18390) [Link]

we're only now reaching the point where results in *any* area of science are habitually released alongside with raw data

I'm a big fan of releasing data as well as papers. I have a wonderful thesis from 1986 full of tables of numbers in my office which means that even twenty odd years later it's still extremely useful. It's a real shame that we have a culture of secrecy in many areas.

...critical pieces of code are not even written down anywhere, just some series of commands were run in a terminal (or by clicking in a GUI!), and then the number shown on the screen pasted into an article.

Well I hope that this is not true in "many cases" though I have a suspicion that you might be right. Not being able to reproduce your own data is poor to say the least!

Where's the R/matlab/numpy-like language that automatically tracks which operations are applied to produce each piece of data

Posted Jul 27, 2007 2:51 UTC (Fri) by illtyd (subscriber, #2124) [Link]

http://www.bepress.com/jhubiostat/paper142/

is one approach to this

Where's the R/matlab/numpy-like language that automatically tracks which operations are applied to produce each piece of data

Posted Jul 28, 2007 4:26 UTC (Sat) by njs (subscriber, #40338) [Link]

How cool!

(I'll have to whinge about random things on LWN more often...)

they are writing Linux code, but not releasing it.

Posted Jul 24, 2007 23:00 UTC (Tue) by PO8 (guest, #41661) [Link]

The Freenix Track of Usenix ATC used to require that code be released under an open source license. We got a lot of contributors of great code, including kernel code, out of Universities with that track. Unfortunately, Usenix killed it a few years ago.

they are writing Linux code, but not releasing it.

Posted Jul 25, 2007 11:22 UTC (Wed) by nix (subscriber, #2304) [Link]

It sounds oddly like the LWN code to me. ;}}}}

Where have the universities gone?

Posted Jul 24, 2007 21:57 UTC (Tue) by sjlyall (subscriber, #4151) [Link]

Thats University of "Waikato" not "Waikoto".

Where have the universities gone?

Posted Jul 24, 2007 22:05 UTC (Tue) by ms (subscriber, #41272) [Link]

I'm hoping the Editor may follow up on this: look around for projects that are coming out of Universities. Now look at the languages they are being written in.

I'm at Imperial College, London. There is the tiniest course on C which we all hated. In fact, now I think about it, I can't name a single University in the UK that teaches C in any great detail. Sure, I've done a couple of courses on Operating Systems; I've run RISC OS, BeOS, GNU/Mach/Hurd, Debian/Linux and messed about with L4 for a bit. I know the principles and always read the LWN Weekly kernel section carefully and thoroughly - it is interesting stuff.

But it's in C. I plan to die before ever touching the damn language. Imperial College, Computing degree. First 6 weeks: Haskell. I'm reasonably sure Edinburgh do something similar with ML. The best Universities do not in any way at all care whether or not their students can program, and any languages taught will be far removed from C. Personally I love to program, I really enjoy it and I write lots of code. But there's just no way I'll ever write anything more than 5 lines long in C.

Where have the universities gone?

Posted Jul 24, 2007 22:50 UTC (Tue) by JoeF (subscriber, #4486) [Link]

C is pretty much high-level assembly language. That's why it is well suited for things like an operating system kernel. Try writing a kernel in Haskell...
Programming languages are nothing more than tools. Professionals use the tools that are best suited for the task at hand. If C is best suited for a task, it is the language that should be used. If Haskell is best suited for a task, use it.

Where have the universities gone?

Posted Jul 24, 2007 23:03 UTC (Tue) by ms (subscriber, #41272) [Link]

Absolutely, I'm in complete agreement with you JoeF - using the right tool for the right job is a great idea. The problem is the job is normally bigger than one tool can cope with. I would think that where you need to chuck bits in and out of registers, actually writing device drivers etc, that's C's domain. Writing millions of lines of code adding abstractions and interfaces to that isn't.

But this is besides the point - few lecturers at Universities are themselves competent C programmers and even fewer are going to teach courses in it.

Where have the universities gone?

Posted Jul 24, 2007 23:55 UTC (Tue) by bfields (subscriber, #19510) [Link]

I don't know how important it is that universities teach C. It's not as though it's a particularly complicated language, and I suspect a lot of kernel hackers picked it up as they went along.

Where have the universities gone?

Posted Jul 25, 2007 1:05 UTC (Wed) by JoeF (subscriber, #4486) [Link]

Teaching of programming languages to CS majors is IMHO rather unimportant.
The important stuff wrt to programming languages is the teaching of programming paradigms (procedural, object-oriented, functional, etc.)
The rest is just syntax of specific programming languages.

Where have the universities gone?

Posted Jul 25, 2007 1:56 UTC (Wed) by allesfresser (subscriber, #216) [Link]

I sort of agree with you in that teaching any one flavor-of-the-month (in my distant youth: FORTRAN; in college: C and these days: Java) as the main course in CS is getting the cart before the horse. Personally I'd like the major to begin with a course in debugging, and then everything else is variations on that theme. :)

Where have the universities gone?

Posted Jul 25, 2007 5:38 UTC (Wed) by dlang (subscriber, #313) [Link]

my High School CS teacher had it right,

the first class was an intro to BASIC (on TRS-80's), teaching you enough to be comfortable writing software.

the second class was advance algorithms, and half of the final was "here's a program (about a page and a half), it doesn't work, it has no documentation. figure out what it's supposed to do and fix it"

after that you went to to assembly and other things, starting by flipping switches on an Altair 8000 and moving on from there.

by the time I got to college the classes all seemed do boring, 10 min of useful info for each hour of class (if I was lucky)

Where have the universities gone?

Posted Jul 25, 2007 8:48 UTC (Wed) by jmoellers (subscriber, #29863) [Link]

> Personally I'd like the major to begin with a course in debugging, and then
> everything else is variations on that theme. :)

You're joking, right! The smiley is way too small.

Anyone getting involved in CS should start with a course in analysis and design, then follow that by a course in analysis and design, topped by a course in analysis and design.
Too many code is produced by starting to code and the throwing a debugger at it. Few "programmers" spend any time sitting down and *thinking* about the problem, *analyzing* the requirements, *desiging* a solution.
*Implementing* it in some language (C, C++, Java, Perl, Haskell) is the very last step. *Debugging* should hardly be necessary.
Oh yes, I almost forgot: please teach your students how to write. *Documentation* seems to out of fashion nowadays. BTW Writing down how and why the code works tremendously helps in getting it to do what it should do.

Where have the universities gone?

Posted Jul 26, 2007 0:28 UTC (Thu) by ronaldcole (guest, #1462) [Link]

Surely you're referring to The Mother Of All Debuggers: printf. I still shake my head when I fire up a GNOME app from the command line and see all the debug spam that splashes on my terminal.

Where have the universities gone?

Posted Jul 26, 2007 6:51 UTC (Thu) by jmoellers (subscriber, #29863) [Link]

> Surely you're referring to The Mother Of All Debuggers: printf

No, I'm not. I'm referring to the Mother Of All Debuggers: Brains(tm).
Too much software is written without it, too much software is produced without thoroughly thinking before writing and then it is tested and debugged into some semi-final state before being shipped.

I do agree that debugging is necessary in certain cases, but putting it first is like requiring every car owner to have a fully equipped garage.

Where have the universities gone?

Posted Jul 25, 2007 14:15 UTC (Wed) by zooko (subscriber, #2589) [Link]

Indeed, I strongly suspect that teaching C to people who are not already proficient in saner languages makes them worse programmers. They understand algorithmic abstraction worse, they are more fearful and less self-confident, and they think that programming is an awful chore and not much fun.

Using C (or even worse, C++) as a teaching language is a terrible idea for both pedagogy and for practical skills.

On the other hand, someone who is already proficient in other languages would be made a better programmer by learning C.

Where have the universities gone?

Posted Jul 25, 2007 4:09 UTC (Wed) by mikov (subscriber, #33179) [Link]

Let's be objective here. Today knowing C is one of the most fundamental requirements for being a programmer, software engineer or a CS. C may be a terrible language (in certain contexts), but _everything_ is written in C and there is no way (in hell) of achieving an understanding of how computers work today without a very good knowledge of C.

Let's be practical. Regardless of our opinion of C (I am not a big fan :-), I see zero chance of this changing, say, in the next decade.

For example even when our company is hiring Java programmers, they wouldn't touch one who doesn't know C well with a ten foot pole.

So, if teachers and students in universities don't know C well, that means only one thing - that they are both sadly incompetent.

I remember my own unfortunate CS education 12 years ago. We hard courses in ML, Pascal and a tiny bit of C and C++. It was ridiculous, and I can say outright that I learned zero about programming during my days in the university. Today there are just a few of us, from the entire class, that work in the field of computers at all, let alone as programmers.

In my opinion nowadays it is far too late to learn how to program in the university. I don't think it is something that can be _taught_ from scratch. Obviously most good programmers who now are in their 30s started programming much earlier on their own. (It wasn't like that for previous generations, as they simply didn't have access to computers that early)

Where have the universities gone?

Posted Jul 25, 2007 6:18 UTC (Wed) by khim (subscriber, #9252) [Link]

So, if teachers and students in universities don't know C well, that means only one thing - that they are both sadly incompetent.

Why so ? C is easy, almost trivial. The CS is hard. Pointers are hard (and you can conjure classical pointer-related problems in FORTRAN with one array). I know of one guy who was hired as C++ programmer by Google who knew nothing about C (let alone C++) - but he knew CS, Pascal+Assembler and little Lisp. And Google's standards are pretty high.

I remember my own unfortunate CS education 12 years ago. We hard courses in ML, Pascal and a tiny bit of C and C++. It was ridiculous, and I can say outright that I learned zero about programming during my days in the university.

That's not a problem of language. The important courses learn about algorithms and basic principles. You can learn any language by just buying book and reading it. But paradigms - these are harder. These must be taught.

Where have the universities gone?

Posted Jul 25, 2007 6:29 UTC (Wed) by roelofs (subscriber, #2599) [Link]

Today knowing C is one of the most fundamental requirements for being a programmer, software engineer or a CS.

Absolutely. And I'd add that knowing assembly language (for any processor, not necessarily x86) is a highly desirable bonus; if you don't have a clue what the compiler is doing under the covers, how are you going to understand even basic performance issues like branch (mis)prediction and so forth? Hearing about them in some lecture is one thing; understanding what's going on at a gut level is entirely another.

It's sad that one of my standard interview questions, involving a certain aspect of CPU architectures, is known to no more than 25% of interview candidates. Assembly programmers would tend to do much better on it, I suspect. (I should go back and correlate resume skillsets with performance on that question and see...)

Greg

Where have the universities gone?

Posted Jul 25, 2007 7:01 UTC (Wed) by ms (subscriber, #41272) [Link]

if you don't have a clue what the compiler is doing under the covers, how are you going to understand even basic performance issues like branch (mis)prediction and so forth? Hearing about them in some lecture is one thing; understanding what's going on at a gut level is entirely another.

I fail to see how that has anything to do with C. I've done two courses on hardware - I have the P&H and the H&P books on my shelf and I've read them. I can talk for hours about the different types of branch prediction, superscalar design, different tradeoffs in cache design etc etc etc. I've written compilers. I can recite algorithms for garbage collection.

But I would not claim to have any knowledge of C. Some of the brightest programmers I know are similarly inclined. The London Banks certainly don't care about knowledge of C and I can't think of many companies in London that really do...

Where have the universities gone?

Posted Jul 25, 2007 16:53 UTC (Wed) by mikov (subscriber, #33179) [Link]

There are exceptions, of course. Perhaps for financial programming in Cobol, or for mainframe development, or simply for very smart people who can grasp the principles without actually using them, etc.

But look at it this way: 99% of all PC software, not to mention _all_ PC OS-es, system libraries, etc, are written in C or C++. Can you explain how someone can understand and program reasonably in this environment without knowing C ?

Additionally, C is not _that_ hard. Refusing (or worse - not being able) to learn it, strikes me as very surprising given C's absolute dominance. One doesn't really need to be a C wizard. It is like not being able to read, because there are audio books. Or like developing software without having any knowledge of English. Simply cannot happen.

You say that you don't know C yourself, but I strongly suspect you actually do. Even if you don't actually develop software in C, you probably can read and understand C source code, no ?

On a practical note, what language would a hypothetical professional programmer in a PC environment use ? There are not that many choices. Further, it is actually impossible to develop any sufficiently complex piece of software in a different language without ever falling back to C. C#, Java, Python, Lisp, Haskel, ML, whatever - none of them have 100% of libraries and operations that would ever be needed.

Where have the universities gone?

Posted Jul 26, 2007 4:29 UTC (Thu) by roelofs (subscriber, #2599) [Link]

I fail to see how that has anything to do with C.

Perhaps you missed the first response to your comment: C is pretty much high-level assembly language. I further opinionized that assembler itself is a highly useful thing to know, and then connected that to a more fundamental understanding of the underlying hardware.

I can talk for hours about the different types of branch prediction, superscalar design, different tradeoffs in cache design etc etc etc.

That's wonderful, but it's also highly unusual, in my experience. Most CS grads (or whatever, but looking for a job that includes doing high-performance system programming) do not have that background--or, if they do, it's all theoretical, and they're unable to make the connection between the hardware concepts and actual code. It's lamentable, but I can't say I'm terribly surprised; others have written about it over the years, and I've personally witnessed an analogous phenomenon with EEs (i.e., graduating without ever experiencing a hands-on, Horowitz-and-Hill-style lab course).

The London Banks certainly don't care about knowledge of C and I can't think of many companies in London that really do...

Banks are a world unto themselves, so that doesn't surprise me. Other companies? That does, but perhaps London really is unusual in that respect. Silicon Valley jobs (beyond scripting/web development) tend to emphasize C/C++ and/or Java experience, with less-frequent mention of C# and other languages. (Of course, maybe we're the weird ones...)

Greg

Where have the universities gone?

Posted Jul 26, 2007 11:08 UTC (Thu) by nix (subscriber, #2304) [Link]

London banks definitely do care about C. A lot of new code is written in Java, but C is still heavily used (and not just for legacy stuff, either).

The employment phase often emphasises Java because it's a buzzword, but get down to the actual work and C is still everywhere.

Where have the universities gone?

Posted Jul 25, 2007 2:37 UTC (Wed) by dw (subscriber, #12017) [Link]

I've never attended university myself, but I have got roped into helping others who have attended with their various projects. Of my local universities, I believe CS is almost exclusively Java.

The only time I've helped someone with C was for, wait for it, a music technology course. I suppose it could be construed that C is the best language for dicing MIDI, but it all seems a little arbitrary to me. :)

Where have the universities gone?

Posted Jul 25, 2007 10:38 UTC (Wed) by brinkmd (subscriber, #45122) [Link]

Actually, the current seL4 kernel from NICTA is written in literal haskell and is attached to an ARM emulator with a trap gateway. See http://www.ertos.nicta.com.au/research/sel4/.

Of course this is more useful for prototyping and formal verification than for actual use. Also, this is only feasible for modern microkernels. Still, it is done, and it is useful.

Where have the universities gone?

Posted Jul 26, 2007 10:16 UTC (Thu) by rwmj (subscriber, #5474) [Link]

Try writing a kernel in Haskell...

Programming languages are nothing more than tools. Professionals use the tools that are best suited for the task at hand. If C is best suited for a task, it is the language that should be used. If Haskell is best suited for a task, use it.

Unfortunately "professionals" generally choose very unsuitable tools for the tasks at hand. While I might not want to write the kernel in Haskell, there are lots of occasions where using (say) OCaml, Perl or Erlang would be by far the best choice. Programming professionals on the other hand know one thing and are deeply resistant to learning anything else. So there's an awful lot of rubbish written in C/C++, particularly on Linux. Look at GNOME (see the horrors of "OO" in glib), all the GNU tools (string handling in C anyone?), and a complex parallel messaging system which I'm involved in, written in C++ -- just plain crazy.

Rich.

Where have the universities gone?

Posted Jul 24, 2007 22:59 UTC (Tue) by joey (subscriber, #328) [Link]

This article concentrates on kernel code and contributions from university staff, but as an aside seems to also conclude that free software contributions from university students are also rare(er) now. I wonder if that's really true.

My own personal sense of it is that there seem to be a lot of university students involved in working on linux distributions. Though possibly less than before; at least in Debian I think our average contributor age is rising. (Although Ubuntu's might just be dropping?) There also seem to be lots of univerity students involved in smaller free software projects, the kind of thing that one or two friends can put together. Of course new free software projects of this sort fail, but plenty of them succeed too. I also see some students who perhaps got their start with this kind of thing who are going on to doing interesting R&D as postgrads. Martin Michaelmyer is one example who LWN readers may be familiar with. So I still see lots of contributions from university students, and a lot of these are the kind of thing that leads to something larger later on.

Where have the universities gone?

Posted Jul 25, 2007 2:04 UTC (Wed) by abartlet (subscriber, #3928) [Link]

Recently, in the leadup to the Google Summer of Code, Andrew Tridgell and I went back to our former (at different times) stamping ground of the Australian National University, to generate some local interest in SoC participation.

Tridge asked the audience, made up of around 80 3rd year undergraduate software engineering students, how many were involved in a free software project: Only one hand went up - he was contributing a little on the Drupel web management framework.

Even at my time (graduated 2004), I knew of only a few fellow students (Nick Piggen was a couple of years below me) doing much Free Software work.

My gut feeling is that students are busy, and between the pressures of study and work, are just looking forward to finishing their degree, so they can join the software industry. I started on Samba in my first year of uni, but most simply don't have the time or inclination to be involved.

I don't think Free Software is the only thing to suffer - this lack of time is mirrored in many other aspects of student life.

Andrew Bartlett

Where have the universities gone?

Posted Jul 25, 2007 0:38 UTC (Wed) by zooko (subscriber, #2589) [Link]

Coincidentally, I received e-mail about this project the other day:

It's an interesting new project from academia.

http://www.mkgnu.net/?q=dynamos

I think part of the answer to the mystery of the missing academic research is that Linux-style kernels are not sufficiently novel and interesting to merit academic research papers as much nowadays. Perfectly useful and valuable work on usability, drivers, performance, etc. that needs to be done is too obvious to win academit plaudits, so we can't count on the incentives of academic research to get that stuff done.

Where have the universities gone?

Posted Jul 25, 2007 7:45 UTC (Wed) by boudewijn (subscriber, #14185) [Link]

One problem I am facing a lot is that university research often only
results in papers. If software is actually written that actually works, it
is very seldom released -- and if it is released, source releases are even
rarer.

Maybe it's something peculiar to the graphics field, where research into
natural painting simulation results in fascinating papers and thesises,
and perhaps a few snippets of free source for things like float spin
boxes, but nearly never in re-usable code.

Fortunately, there's a great Summer of Code student working on
reverse-engineering the papers into a grand paint mixer for Krita :-).

Where have the universities gone?

Posted Jul 25, 2007 12:50 UTC (Wed) by ordonnateur (subscriber, #6652) [Link]

The big contribution of universities to computing was 30 or more years ago: before personal computers a university was the only opportunity most would have to get near a computer and experiment. The other contribution was the notion that the computer was a mathematician's machine: there are good and bad aspects to that; the software libre ethos is one of the goods. As Knuth says "mathematics belongs to God".

I am not sure attribution based on email address is a good metric. For one, it probably indicates more an employee of a university rather than a student. Student arrive at university computer literate, they already have email addresses, I know from experience as a university sysadmin that many students never use their university account. And a university is probably not the place to create os code such as drivers etc which must surely represent a considerable part of the kernel effort, it is more likely to come from a hardware vendor.

Computer Science hasn't got much to do with practical computing, it is part of the academic accreditation racket. The best programmers have learnt the art before they got to university, being a good programmer is an advantage in doing CS, but there are plenty of student passing CS courses who are not and will probably never do any real programming beyond their coursework assignment.

Where have the universities gone?

Posted Jul 25, 2007 13:37 UTC (Wed) by nim-nim (subscriber, #34454) [Link]

The problem is that as a rule university teachers just lack any engineering training. They are great at teaching computer language concepts to students. Because of the mathematical roots of university CS, they'll be aware of the latest algorithmic studies. They do the research part of R&D.

What they absolutely do not know is how to manage licenses, code drops, SCMs, relations with the projects they re-use code from, etc. They're no help to the students that may write useful or inspired code. And there's simply not enough time in a CS cycle for a student to learn all this by himself. Unless he invests a massive amount of private time in all this in addition to his studies.

Needless to say nowadays no one is interested in source code that needs massive licensing and dependency untangling before it can actually be used or redistributed. CS graduated from raw research to actual product-producing engineering a long time ago. And FLOSS coding requires more professionnalism that closed source coding - you need to insert yourself in a huge international ecosystem instead of just some corporation or university internal departments.

So universities mainly turn out code monkeys, that will have their code managed by the corporation that hire them (and even with this help, the result is usually not pretty). For universities to start turning out useful code again someone needs to take care of legalities and logistics. And convince teachers their students need this help.

Where have the universities gone?

Posted Jul 25, 2007 13:38 UTC (Wed) by phubert (subscriber, #2972) [Link]

Isn't it a related issue that we've had local/state/federal government agencies hire thousands or even millions or programmers, at least SOME of whom have created TOOLS for their respective environments all (supposedly) under PUBLIC DOMAIN, but practically NONE of it SHARED.

The web COULD change this and SHOULD have... but who is promoting it?

I know on a number of old mainframe platforms I yearned for the opportunity to share and even tried to create opportunities, but found so little interest _within_ the organizations I worked for.

Shouldn't we ALL, as taxpayers, raise this issue... ESPECIALLY when it comes to moving ALL government that we PAY FOR to OPEN SOURCE and FREE (as in GPL) licenses???

Yes, I am aware the universities are trying to generate funding so that much of what they produce is no longer freely available. If they are PUBLIC universities, shouldn't we challenge this for the reason given above?

Who is lobbying for open source?

California had a good candidate for governor who might have been open to this: Steve Westley (and I (ducking your eggs and tomatoes) am a conservative Republican)... the Dems didn't want him and likely he couldn't have defeated Schwarzenegger... but Westley was the only candidate with a web site that encouraged OPEN PARTICIPATION. Isn't that analogous to open source???? Isn't that the SORT of public official we NEED???

Required by funders

Posted Jul 25, 2007 14:12 UTC (Wed) by darthscsi (subscriber, #8111) [Link]

One of the easiest ways to get software released as open source in a university is to have a grant require it. This is much easier than it might seem, the NSF and others are very interested in not spending money for each research group to reinvent the wheel, and although simply making code available to other institutions is usually enough, you can often have them specify that the funded code be released under an open source license.

Also, it is possible if you have something useful to get grants to clean it up and release it (we just got one for this purpose), but that came from specifically seeking it out, and already having finished the first part of the project it was written for.

Where have the universities gone?

Posted Jul 25, 2007 14:21 UTC (Wed) by aotheoverlord (guest, #3993) [Link]

I'd suggest two reasons.

1) The quality of the teachers compared to the students. That's not to say that the teachers aren't as smart as they were 20 years ago (or even 10 years ago)... rather that the students are MUCH smarter. Think about it... many of these kids taking CS degrees today are already competent programmers, so the gap between teacher and student is dramatically reduced. (And the folks really needed to teach these kids are all earning 6 figure salaries working for a software company...)

2) The quality of OpenSource projects. Let's face it -- the quality of code required to make it into the Linux kernel, gcc, etc. is far higher than it used to be. That makes the entry barrier much higher. Sure, there are "lesser" projects where people can start, but even there quality is still critical. You have to be thick skinned to survive a lambasting from someone like Linus for a piece of crappy code... I suspect the younger generation today just aren't interested in having to deal with that when they can hoodwink a PHB instead and bank a hefty paycheck in the process.

Xen

Posted Jul 26, 2007 4:46 UTC (Thu) by akanaber (subscriber, #23265) [Link]

Also the University of Cambridge for Xen, of course.

Where have the universities gone?

Posted Jul 26, 2007 8:14 UTC (Thu) by josh (subscriber, #17465) [Link]

This article equates a lack of university copyright notices with a lack of university-based contributions; based on my own experience, I consider this a mistake. I personally study for my PhD at Portland State University. I also write and contribute to a lot of Free and Open Source Software, some of that as part of my research and my studies. PSU, however, has no copyright claim to it whatsoever. I know professors at PSU who work the same way; I don't know any details about their relationship to the university, but I know that all of their FOSS code and contributions have the professors' names attached, not the university's.

Tex and LaTeX

Posted Jul 26, 2007 9:27 UTC (Thu) by mmarkov (subscriber, #4978) [Link]

I find it unbelievable that the LaTeX typesetting system is used so extensively in academia -- physics, mathematics, theoretical comp. science -- and yet LaTeX has been stagnating for more than a decade, becoming irrelevant to the new generations of students. I have seen complaints in news:comp.text.tex, which seems to be THE source of insider info about TeX/LaTeX, about the shortcomings of the foundations of the system, the total lack of funding for the development of LaTeX3, and the several incompatible projects that try make an improved LaTeX. LaTeX3 has been developed for at least 15 years and it seems it will never be finished, like the GNU kernel (was it Hurd?).

How come that the universities, esp. the departments of fundamental sciences, contribute nothing to the development of the typesetting system they use so much? So much university money is wasted on silly projects, so much academic activity is done just for the sake of itself, so many computer tools and the theory behind them are created that are never going to be used by anyone for real work (they can justify grants, though), and yet the said institutions cannot afford to maintain a dozen or so paid LaTeX developers that can keep the project alive?

Tex and LaTeX

Posted Jul 26, 2007 15:18 UTC (Thu) by jschrod (subscriber, #1646) [Link]

Funding is not a problem for LaTeX3 -- nobody is really interested in it, besides some researchers. The last new TeX development for document markup was Context and work that was spent on support for XML backends. And frankly, the community at large doesn't see that as a big problem.

That's not to say that nothing happens in TeX world. That the LaTeX kernel is finished is as important as that the definition of C does not change. Every day (and that is meant literally), new or updated LaTeX packages are published at CTAN, the Comprehensive TeX Archive Network. XeTeX introduced support for OpenType, pdfTeX is much better at producing proper PDF documents than most other open source software (see the Context manuals if you want to look what can be done here!), work is ongoing to fold back the different development tiers like XeTeX, pdfTeX, and Omega/Aleph into one common project line. Last, but not least, several projects are funded to produce good internationalized fonts, TeX Gyre being the latest one.

TeX and LaTeX are old and stable now, but they are not dying. In fact, our user groups have rising membership counts. (And our available funding to support developers that create open source software in that area is not even used to its full extent.) We have more problems to engage people in non-development activities -- e.g., I'm currently looking for volunteers that help to revamp and modernize user group and CTAN web sites; and I don't find them.

Joachim
(LaTeX team member, TeX Companion co-author, CTAN maintainer, xindy maintainer, DANTE co-founder, and all-around TeX guy since more than 25 years :-)

Tex and LaTeX

Posted Jul 28, 2007 16:17 UTC (Sat) by bboissin (subscriber, #29506) [Link]

I would be very very pleased to see an article about the future of (La)TeX in lwn, maybe you could contribute one ? :)

Tex and LaTeX

Posted Jul 29, 2007 0:12 UTC (Sun) by jschrod (subscriber, #1646) [Link]

Yeah, the limelight is often focused on other Open Source projects, maybe we should really tell more what's happening in our area. We have our user group magazines, but it's probably too much an inbred affari.

OTOH, on the last German LinuxTag that I attended, our booth had as much -- if not more -- attendees than the OOo booth next to us, so (La)TeX is still interesting to many people. :-) :-)

But I'll see, if we can produce an article that is up to the standards of LWN, and if the LWN folks are interested.

Joachim

Tex and LaTeX

Posted Aug 13, 2007 17:45 UTC (Mon) by kreutzm (subscriber, #4700) [Link]

Most definitly I am intrested in that article (though to admit I once held a talk about LaTeX on LinuxTag ...)!

Where have the universities gone?

Posted Jul 26, 2007 18:04 UTC (Thu) by iabervon (subscriber, #722) [Link]

One aspect that I don't think has been mentioned is that open source development is often the result of people scratching their itches, and academia had a big and particular itch, which has largely been scratched for quite some time now. MIT did a whole lot in Project Athena, but they started by coming up with a vision for an ideal campus-wide computing resource, and they completed it. After that work was done, they had their ideal system, and largely haven't needed to change it. I think one issue is that academia's needs don't change all that rapidly, so they're just not itchy these days.

Code by Academia for Academia

Posted Jul 30, 2007 15:13 UTC (Mon) by cdmiller (subscriber, #2813) [Link]

It may be that the "hard science" style of the computer science discipline is waning, and academic low level systems code contributions are suffering as a result, but FLOSS itself abounds in the academic world.

In attending a few recent Educause conferences, there are quite a few FLOSS projects ongoing in academia. Some of the the most well known have significant backing from University consortiums, producing uPortal, Sakai, Kuali, and the like. Other projects are producing some novel products for better pedagogy and IT management. P2P, student "profiles", writing management systems, computer lab management software, CMS, directory systems, email systems du jour, security, privacy (and anti privacy) software, etc. are all produced and maintained by Universities world wide in multiple implementations within the FLOSS code base. The Open Source Lab is hosted by the University of Oregon, that's a pretty big $ and time commitment for any of todays University systems, (at least in America).

Academia's level of Linux kernel contributions are probably not an indicator of academia's participation in the FLOSS community.

I contend that as Linux gains further acceptance in the business, commercial, or "real" world a higher percentage of accepted contributions will be put forth by businesses and private interests rather than academia. Occasional interesting developments will occur in academia from time to time, (witness Xen etc.), but their acceptance in the mainline Linux kernel will be limited by whether they meet a large enough business or "real" world need.

- cameron

Code by Academia for Academia (correction)

Posted Jul 30, 2007 23:15 UTC (Mon) by cdmiller (subscriber, #2813) [Link]

OSL is hosted by Oregon State University, not the University of Oregon. Sometimes I confuse it with Portland State U. which also has FLOSS projects and implementations going on. Apologies to the OSU OSL.

Where have the universities gone?

Posted Aug 1, 2007 21:26 UTC (Wed) by Brenner (subscriber, #28232) [Link]

Here is another example of a university contribution: VideoLAN/VLC (http://www.videolan.org). It is not kernel related, but it is still a pretty high profile piece of free software.
The project was started at the French university "Ecole Centrale Paris" as a student's project in 1995 (I was one of the 4 students inital team member). After a few years (3 or 4), the university agreed to release the code under the GPL at the request of the students. The project has since gained many contributors worldwide, but the heart of developpement is still at the original university.

Where have the universities gone?

Posted Aug 12, 2007 10:09 UTC (Sun) by khermans (subscriber, #43429) [Link]

Although not directly contributing through a massive new FOSS project, I believe that myself and the Linux User Group at the University of Massachusetts Amherst did our part on campus. We acted when Microsoft's Steve Ballmer came to campus. We spoke out when there was no Linux support for students. And I am happy to say that as of January 2007, at least three popular Linux distributions are supported for all students/faculty/staff at the University. Most other colleges around the country provide support *ONLY* to technical majors/students (EE/CS/Physics/Math/Chem).
--
Kristian Erik Hermansen

Copyright © 2007, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds
Powered by Rackspace Managed Hosting.