I'm curious what would happen if you cut out all administration of technical solutions entirely at universities with top notch computer science departments. Right now so many of the technical solutions are antiquated crap. If people had no choice but to solve this problem on their own, but had access to some good developers at their school, would some interesting open-source projects eventually rise from the initial confusion?
Take course scheduling for example. Are there any well known open-source course scheduling solutions out used by many universities? If not, why not? Every time we see an industry with a dearth of open source tools, we should be worried and be asking why.
Because 'scheduling' in the real world (as opposed to 'scheduling as an operations research problem') is not as simple as you make it out to be. Every department has their own requirements, about being able to schedule labs, equipment, people, timetables at which specific security personnel is available, rush hour avoidance requirements, and dozens of other factors. It is not impossible to abstract all those away into an algorithm that can come up with a solution, but at that point, you basically need a programmer to make the schedule. Which is why consultants come in to customize the software to the specific situation, leading to a number of solution providers, which is the situation we're in now.
(grump mode on) I wish everybody who wants to hit submit on 'how hard can this be? I can do it over a weekend!' type of posts on HN would come off their high horse and apply Occam's Razor. If a problem exists, and probably thousands of people have already devoted substantial parts of their lives to it, how likely is it that some amateur on HN would come up with a better solution in 15 seconds after reading a cursory overview of it? Answer: negligibly likely. So what's the more likely explanation? That the reality is not as simple as the abstract overview makes one think. Which is exactly what is going on here.
There are few if any workable OS scheduling packages because it's boring and situation-specific. 'Scheduling' as an abstract problem is solved, all that is left are implementations, which are all site-specific. Exactly the type of situation in which OS has little chances of being a realistic solution.
I don't disagree that the problems are generally harder than one thinks at first blush. However, often many of the odd intricacies and rules people have around existing processes aren't necessary, and are there because they've always been there. The act of rebuilding a modern system can help root out some inefficiencies and streamline things.
Secondly, most places with computer programs should have enough competent people to choose from to collaborate on internal projects like this to avoid the need for everything to be an outside consultant or purchase. If a small team of graduate students can't handle some of these problems, I would consider that an indication that the programs aren't doing a good enough job. I understand not every "computer science" person is a naturally good programmer - there's a distinction, etc. But there still seems to be a waste of available talent on-campus that could be tapped for some problems.
And my particular favourite: scheduling one off exam slots in medium sized rooms at unusual times of year (UK, further education, modular basic qualifications, externally marked exams). Last time, they put an exam in the room next to a music practice room...
Ah yes, spatial relationships between resources, the bane of every class scheduler across the world. The complexity of relationships between resources can explode so quickly to a degree that it becomes impossible to foresee every situation. So the software has two options: build in a Turing complete language to list this sort of dependencies (too hard to use for users), or allow large amounts of manual 'exclusion lists' for special situations. After a few years, those lists get so large that they start to contain internal conflicts. Then there are a few years of screwed up exam plannings, people get yelled at, new system gets implemented, and the whole circle starts again.
What you have is an obscure procurement process intractable to open competition , dominated by niche vertical players with fat rolodexes with a quasi monopoly on academic institutions.
The result of which are incestuous business relationships not at all concerned with the interests of students or taxpayers case in point : textbooks.
This industry is beyond ripe for disruption. it's an institutional racket.
Take course scheduling for example. Are there any well known open-source course scheduling solutions out used by many universities? If not, why not? Every time we see an industry with a dearth of open source tools, we should be worried and be asking why.