Consider the goals of universal accessibility of education, reproducible systems research that can be built upon, allowing students to explore and improve systems, techie obligations to promote privacy and security in information systems, and simply setting an example to software engineering students that this is doable.
Also, MIT is one of the original homes of various FLOSS ideas, and if they can't manage to use FLOSS, who can? So maybe there's additional sense of professional obligation. And after he did it, it was written up, to encourage others to try it.
Your comment could be taken out of context here. I am no language expert, but it's better to use the form "Sussman is not only a professor at MIT, but also ...".
"just" is probably overused these days. It has replaced words like "please" and structures like above.
Contrast:
a) Can you just do that
b) Can you please get that
You're the only person who said 'just'! You're arguing against something you said.
He mentions that classes were broadcast with Jitsi Meet - but has anyone else used that and can comment on quality for a large class - say when doing Q&A in class?
And yet we just accept that a leading computer science department at a major university can be forced to use crap enterprise software that's vastly inferior to anything they themselves could have written.
Some of my examples might be hyperbolic. But the power of IT departments to mandate a dumbed-down status quo still seems very weird to me. I believe it's one of the factors that keeps computer science and engineering from making more forward progress.
John Deere does not make ATVs, they don't make any tier of people moving equipment. The idea that they should use their own is ridiculous. If they didn't enforce the Honda rule, people would be riding around in the front of dozers.
Much in the same way that if Stanford invented new bulbs, they would be used in a lab. With safety standards applied. Why don't you want these newly invented bulbs used all over your building? Well, what happens when they burn your building down? What happens if the people in the lab who invented them decide to make a company selling them, and are busy with that, and now you need to pay your maintenance people to deal with these new bulbs they don't know how to use.
Being slow to change in a larger organization is a feature, not a bug.
Thanks for writing this.
Usually, in situations like yours, turning complaints or proposed solutions into numbers helps a lot.
Student participation in some of the projects could work for certain modules, but only as experiments -- again we've been specifically prohibited from spinning up our own solutions.
> Usually, in situations like yours, turning complaints or proposed solutions into numbers helps a lot.
I agree that ultimately what needs to happen is that those of us who care about FLOSS need to organise and try to chip away at the corporate one-size-fits-all dependency syndrome at the university. The kinds of data ownership debates happening in Germany seem very far off here. The British university is in retreat. [1]
[1] https://www.theguardian.com/education/2020/jun/10/uk-univers...
If the UK universities are anything like the US universities this is near impossible to do. Maybe COVID has changed some things but when I worked in the university system (state run) it was more about who could woo what administrator. The amount of waste and nepotism would make your head spin.
One thing about Big Blue Button though: a friend teaches in a smallish university and has been trying to find out how to get simple, turnkey hosted installations of it (the IT department is not interested). It seems inordinately difficult to simply create an account with one of the listed hosters on the page and start paying. The big draw of BBB is the whiteboarding feature.
The alternative is Jisti Meet with the "Presenter" mode sharing a LibreOffice window, which actually works pretty well, but would be better if it were possible to toggle on/off the thumbnail of the presenter (it currently occupies about the lower right ninth of the screen).
Jitsi Meet is so far (out of Teams, BlueJeans (no linux desktop client and therefore no whiteboard), BBB) the best.
Right now everythings in emergency mode anyway so as far as they're concerned outsourcing everything to Microsoft is one less problem. Everything can be justified by the state of exception.
Kudos to MIT for leaving their staff to make such calls for themselves. I know Sussman is a superstar but still. I'm sure a culture like that helps contribute to MIT being the world's most highly ranked university.
Unrelated to this story, but on the topic of ethics in CS: I found the decision of Joe Redmon [1] extremely brave. (If you don't know who he is, he's the principle original author of YOLO, and could easily have had a stellar CV career. Also, his papers are just amazing reads with tons of humor.)
[1] https://syncedreview.com/2020/02/24/yolo-creator-says-he-sto...
Your posited opposition between "what is best for the students" and "what is best to support some ideology" is without foundation — different ideologies differ precisely in that they make different claims about what is best for people, such as students. Whatever set of claims you endorse about "what is best for the students" constitutes an ideology.
Now, it may be that there is no objectively correct ideology — that, for example, it's just as valid to celebrate the mass human sacrifice of the Khmer Rouge killing fields as an inspiring example of class struggle, as Pol Pot did, as to deplore it as a violation of fundamental human rights. I do not believe this, but some people do.
But you do not seem to be taking such a purely moral-relativist position — instead, you are arguing that MIT "should make sure that students get their software and materials free of charge" and "should use what is best for the students". That is, you are attempting to promote your own ideology about how MIT should teach its classes, arguing that MIT should prefer your ideology to Gerald Jay Sussman's ideology and, implicitly, that MIT's administration should order him to choose different software with which to teach his classes. You are attempting to camouflage your attempted imposition of your own ideology on MIT under a dishonest implicit claim that your own point of view is free of any ideology.
As it happens, MIT does not adhere to your ideology; instead it adheres to an ideology known as "academic freedom", which holds, among other things, that professors and other instructors have fairly wide latitude to choose their manner of teaching, the material they will teach, and the points of view they will express, which easily extends to the choices in question. When the modern ideology of academic freedom was forged in, mostly, the German universities of the 18th and 19th century, it brought them to the frontier of human knowledge and made them the leaders in advancing it; nowadays many of the universities most faithful to this ideology are in the United States, but the principles are the same.
Your call for MIT to abandon its principles and suppress academic freedom, mendaciously cloaked behind a spurious claim of ideological neutrality, is deplorable.
You should not have posted it.
(To preempt some comments, not only do I not teach at MIT or any other university, I've never attended MIT and I didn't even graduate from college; and MIT, roughly speaking, bullied a friend of mine to suicide. This is not about group loyalty.)
This was the second sentence of the post
Second, there are a lot of contexts where MIT's educational materials are available for free (gratis). I've taken a lot of MIT courses over the years and never paid a dime except to purchase a hard copy of SICP.
It also sets a baseline for every student and prepares them for a future where science is made to be shared and part of that is using tools and work flows that can be copied around the world.
Some of the folks in the Debian community have been trying to package it up in Debian and found it a bit challenging that some of the dependencies of BBB work only with specific Ubuntu versions. Would you please help address that and help them move forward with packaging it up and include it in Debian? Thanks again.
1. I can see you offer polls and chat, but those are fairly common. What are the teaching specific stuff you think is most interesting?
2. I had a look at the code. I see you're using Meteor. How is your experience with this (I'm a contributor)?
Free Software gives you back the agency to solve your problems in any way you see fit(be they hacks or not). It doesn't leave you helpless and dependent on the goodwill of third parties.
I'm very excited for this. https://mitpress.mit.edu/books/software-design-flexibility
For reference, Sussman is an author of Scheme and
- SICP https://mitpress.mit.edu/sites/default/files/sicp/full-text/...
- Structure and Interpretation of Classical Mechanics - https://mitpress.mit.edu/books/structure-and-interpretation-...
- Functional Differential Geometry - https://mitpress.mit.edu/books/functional-differential-geome...
All of which are available free online (look for the open access tab)
Not only that, I’ve discovered some minor exploits in my time using it. For what it is, it’s horrible software and none of my professors were ever happy to use it.
Based on the ancient aolserver?
Total mystery here: https://mitpress.mit.edu/books/software-design-flexibility
You can dip your toe here: https://groups.csail.mit.edu/mac/users/gjs/6.945/readings/
Looking forward to this!!!
At my school, first thing: disconnect all your servers except for required lavoratory things.
...
A. MIT is as renowned as it is
B. MIT does this
C. MIT has people like Gerald Sussman as Professors
... MIT is going down the tubes.
... And people like Jerry (correctly) say MIT would never hire someone like them today.
If this was some other domain like surgery or structural engineering, using free software would add no value to the process (since the domains are already so deep that the students anyway treat all software as black boxes since their own domain is difficult enough for one person to cope with).
So here I think is the line where it makes "sense" to use a free software in university teaching setting, or not. If a considerable percentage of the students are likely able to move beyond to the "black magic box" model of software to investigating actually the CS principles behind the software, then using a free stack is definetly beneficial for the education.
If the students anyway treat the software as a black box, then it makes sense to use a black box that is pedagogically most prudent, free or not.
So yeah, there's a lot of room for improvement. Hospitals are unlikely to switch to a new system but new doctors might be open to free software. They need expert support for it though. Encrypted cloud storage services for medical data and images would add a lot of value but I'm not sure if that's legal.
The infrastructure was built over AWS, automatically stopping the servers after all people leaving the channels. For starting it, it was monitoring the training schedule and 'opening/loading' the channel a few moments before the class start.
Cheap, open-source and reliable.
It’s definitely great that such an architecture worked for you and also shows how hard it can be to run a full OSS stack these days.
https://hz.mit.edu/thoughts/teaching_with_libre_software.htm...
which discusses the tools that were used to run one of MIT's introductory programming course online (due to coronavirus).
Edit: People are getting downvoted left and right. Why is this such a polarizing topic?
Likely because there's only so many times someone wants to reply with "Free as in free market, not as in free lunch."
And it's not that much of a polarising topic, but if Gerald Jay Sussman, professor at MIT, co-writer of SICP, board-member of the FSF, writes about "Free Software", and multiple people start off with complaints or comments about "paying", even if there have been multiple posts and corrections in the commentary already, it becomes very hard to retain good faith or discern any value in the post.
There is nothing wrong with paying for something, but what's better is relative.
Isn't it better to not give away students' private information? Isn't it also better for CS students to be able to look at the source code of tools they are using? Inevitably you will need to choose some metric with which you'll measure quality of a software, that metric is subjective. This guy chose one which valued aforementioned qualities more, if you teach your own class you are free to choose software which better fulfills your subjective criteria.
Of course, because there's a material cost for manufacturing physical things. The marginal cost of "manufacturing" copies of digital information after the information is created the first time is the price of the electrons it takes to perform that copy, so very close to zero.
I think everyone agrees there's a real weight of responsibility on teachers. Some feel that getting students onboard with FOSS is the responsible choice.
I hope he also objected to taking payment for his own services on grounds of principle, lest people think of him as rather sanctimonious.
Oh boy. Something is got to change in making software.
Really though, with the nix package manager (https://nixos.org/), if anyone at any point in time had a working nix package for a given program, and as long as all the inputs (source code) are still either online or cached somewhere with the same sha256, it's possible to get the exact same output.
This works with very few exceptions. Some things, like systemd dbus calls, runtime calls to an internet api that might have changed, other runtime impure things, will of course be exceptions. But in general, there aren't other exceptions. It doesn't matter if your computer has python3.9 installed, nix doesn't mind using python3.6.5 for one old package.
So yeah, nix solves exactly the problem you're complaining about. I agree something's broken in other distros, but nix fixes it.
Note, others will say containers solve this, and that's also sorta true. If someone had a docker image laying around with exactly that version of software installed and working, and you can still download said image, you'll get a working setup that way. But actually rebuilding the container (unless it's built with nix) is unlikely to be as nicely reproducible, and it misses some nice properties as a result.
Also, I can see why you might get downvoted since this isn't really that relevant to the post. It's not just free software that suffers from the problem of shipping and packaging software being a space full of unreproducibility and incompatibility
Because this is not relevant with the topic at all?
For the case of numpy, some pretty obscure functions must have been used then. Usually there will be deprecation warnings ahead of time and a bit ofsearching will clear up, what you should use instead, going with later versions. Also they don't simply remove the dot product or something.
So that's why I think an example would help your post and make people understand that specific case.
Students are required to pay for their education at MIT. Were the costs of this course offset with the costs of the non-free software used in an otherwise "standard course"?
People put immense effort into developing software. Is asking for compensation for one's time and effort somehow wrong?
And in many cases, proprietary/commercial software really does outperform the equivalent FOSS/Libre solution. Why are we teaching people to reach out for the suboptimal tools in these situations?
> The freedom to study how the program works, and change it so it does your computing as you wish.
That is particularly important for students of computer science -- what better way to see how all kinds of software works than by reading and modifying its source code?
I'm surprised if a "standard course" doesn't mostly use free software. Mine certainly did, I remember only a single module where we used a commercial software package (something for hardware simulation). I've never felt that this has limited me in any way. One module had us modifying the Linux kernel.
Sure, but conveniently enough, the software listed in the parent article [0] all happens to be "free as in beer".
What examples of "free as in freedom, but we had to pay for it before we could use it" software was used during the course?
[0] https://www.gnu.org/education/teaching-my-mit-classes-with-o...
I wish I had had that opportunity when I studied computer science, because my tools were treated as a sort of "magical black box" with no visibility.
The programs we wrote in class were toy programs, and there was no sort of "reality check" for how our editor or compiler or any other tool was actually written.
And in most cases, it does not. Why are we teaching people to reach out for the suboptimal tools in these situations?
Non-commercial software does not have this in that sense. It may have advocates who, out of sheer enthousiasm, bring software into such universities, companies and governments, but hardly ever an actual sales.
And since non-commercial software is largely FLOSS, whereas commercial software if most often proprietary, we see that, simply through sales, the proprietary alternatives are used far more often.
Regardless of any technical merits. Technical superiority hardly "sells" software, sales teams do that. Unfortunately, I might add.
What if people were paid through public grants, or paid well through the welfare state; instead of through the legal scarcity provided by intellectual property?
Typically those who utilize open software for commercial ends contribute code. Opensource contributors are hired by companies using their software.
You're assuming a generalization which is not present in the article. People can disagree on the merits of paid software and still agree that teaching using open solutions is has benefits. One does not necessarily follow the other.
The radicalization of this approach leads to students that land their first job without knowing how enterprise commercial software work lacking therefore a very useful entry level skill.
And TBH i do not see why a university should provide free (or worse, paid[0]) advertisement material for a commercial product.
[0] i mean paid by the software companies and it is worse because usually the students either paid for the admission to the university, meaning they paid to get advertised to, or they enrolled in a public university, meaning the taxpayers paid money to have their children advertised to
IMHO, you don't advertise free software. Because free software is not commercial per se. Advertisement is for commercial products (and with a bit of sarcasm, I'd say that most commercial software need advertisement either because they don't have enough value either because they just want to be bigger than the other; in both case, the mankind is not well served).
>>> the taxpayers paid money to have their children advertised to
spot on.
The delta between Jitsi Meet and Zoom or Teams for video-conferencing is minimal from a user experience perspective. The idea that a CS graduate from MIT would struggle to figure out Zoom or Teams at their first job is laughable.
What is worse, is that if this was the case, the University failed spectacularly in their goal. I would mean they trained a monkey to do one trick.
I sincerely hope a university like MIT is better than simply training monkeys some tricks which they then repeat ad-infinitum at "their jobs".
Vocational schools exist if you want to be spoonfed how to do something cut-and-dry.
Sorry my overly idealistic friend, but as long as every job posting "prefers" (i.e. requires) a BS CS, it's fine to see the pursuit of that BS as a means to an end.
My university had a College of Nursing - again, job training for nurses.
Oh, and a College of Education which includes training teachers.
Don't be a snob. A 4-year college is only one of many good ways to get an education and an explicit career-path isn't just a "cut-and-dry" education.
Seriously? In 2020, the idea of writing software using free tools is "radical"?
> without knowing how enterprise commercial software work
What software specifically? I mean, you want to write web clients? Almost entirely free tools. Android or ChromeOS drivers? Ditto. Backend cluster deployment paradigms? Free. Docker? Free. Kube? Free.
I mean, it's not like you can't find some worthwhile "enterprise commercial software" out there to buy. But to pretend that the bulk of the most exciting work in software isn't almost entirely done with open source tooling (and has been for more than a decade!) is... just very strange.
Please no. It is already difficult to find unis whose undergraduate degrees are not filled with things like java and enterprise-grade programming.
Regardless, universities are not for teaching you to use specific products. This is what manuals are for.
Yeah, the author of the comment you're replying to is either a troll or has no idea how copyright works.
If it were, then whoever published your CS textbooks would own all the software you’ve ever written. That is clearly not he case.