For a professor to use only FLOSS when teaching CS students about software engineering seems entirely appropriate to me, and a good on-principle exercise.<p>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.<p>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.
I teach at a world ranking university in the UK which has decided that in order to have a 'standardised student experience' teachers are prohibited from running their own FLOSS setup when there are proprietary contracts in place. Sorry but MS Teams is <i>not</i> designed with teaching in mind. I've been advocating for Big Blue Button and Jitsi but effectively told to shut up. It's infuriating.
Obviously he is a great (one of the best?) teachers. Having the lecture use free software only, shows he also cares about ethics at his work. I think that makes him a better teacher. Far too few people in CS care about the ethics side as well.
I am the product manager for BigBlueButton. While we implement most of the capabilities you would expect in a web conferencing system, we focus on giving the instructor many ways to engage students for learning. Being open source has enabled many schools around the world to setup and run their own BigBlueButton servers. Thanks to our community, we're localized in over 25 languages, provide a pure HTML5 interface, and have been deeply integrated into many of the most popular learning management systems. Our road map will continue of focus on the teacher/student engagement. Needless to say, Covid-19 made a <i>lot</i> people take a closer look at BigBlueButton. We've been working on it for 10+ years now, and we're <i>very</i> determined to make it the most effective platform for virtual classrooms and build upon our community.
I think one of the nicer points to take away here is that prof. Sussman worked around remote teaching problems not by getting bogged down in meetings, but by calling a friendly admin and by himself installing a piece of free software on a computer he had lying around in his lab.<p>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.
"The class used a draft textbook that Chris Hanson and I have written. The book is entitled “Software Design for Flexibility (how to avoid programming yourself into a corner)”; it will be published by MIT Press soon, with a Creative Commons Share Alike license (and all the code in support of the book is under the GNU GPL)."<p>I'm very excited for this. <a href="https://mitpress.mit.edu/books/software-design-flexibility" rel="nofollow">https://mitpress.mit.edu/books/software-design-flexibility</a><p>For reference, Sussman is an author of Scheme and<p>- SICP <a href="https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book.html" rel="nofollow">https://mitpress.mit.edu/sites/default/files/sicp/full-text/...</a><p>- Structure and Interpretation of Classical Mechanics - <a href="https://mitpress.mit.edu/books/structure-and-interpretation-classical-mechanics-second-edition" rel="nofollow">https://mitpress.mit.edu/books/structure-and-interpretation-...</a><p>- Functional Differential Geometry - <a href="https://mitpress.mit.edu/books/functional-differential-geometry" rel="nofollow">https://mitpress.mit.edu/books/functional-differential-geome...</a><p>All of which are available free online (look for the open access tab)
It honestly would be great for some competition, FOSS or not in the distance learning department. Blackboard and friends are horrendous, and as we know zoom has myriad problems. For a small group meeting I have each week that is now online, I've started using jitsi too.
A bit tangential to the main topic, but I can't wait for that book to be out. IIRC (I read it somewhere??) it's based on his 'Robust Systems' thoughts and experiments.<p>Total mystery here: <a href="https://mitpress.mit.edu/books/software-design-flexibility" rel="nofollow">https://mitpress.mit.edu/books/software-design-flexibility</a><p>You can dip your toe here: <a href="https://groups.csail.mit.edu/mac/users/gjs/6.945/readings/" rel="nofollow">https://groups.csail.mit.edu/mac/users/gjs/6.945/readings/</a>
> The class used a draft textbook that Chris Hanson and I have written. The book is entitled “Software Design for Flexibility (how to avoid programming yourself into a corner)”; it will be published by MIT Press soon, with a Creative Commons Share Alike license (and all the code in support of the book is under the GNU GPL)<p>Looking forward to this!!!
Thanks to open source projects students are able to learn, experiment and grow. I was lucky enough to have one of our professors introduced me to Asterisk for VoIP calls. Being able to learn and modify the code base and contribute back to the community are skills which helped me grow as a professional
Great that his institution lets him run servers for his classrooms from “any” place.<p>At my school, first thing: disconnect all your servers except for required lavoratory things.<p>...
Don't take this so much as about ideology, than as a mode of pedagogical thought. Free software is decomposable to first principles, and it makes perfect sense to use it in a CS class.<p>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).<p>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.<p>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.
I used BigBlueButton between 2010-2013 for remote training classes on OZ Technology.<p>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.<p>Cheap, open-source and reliable.
That is nice and all but I fail to see how it is particular: the situation described here is also what me and most of my colleagues did during this period (except we used instances of these software hosted by our own university). I believe it is the same in most universities.
I'd also recommend <i>Libre Tools for Teaching</i><p><a href="https://hz.mit.edu/thoughts/teaching_with_libre_software.html" rel="nofollow">https://hz.mit.edu/thoughts/teaching_with_libre_software.htm...</a><p>which discusses the tools that were used to run one of MIT's introductory programming course online (due to coronavirus).
What’s wrong with paying for a product or a service if it’s better for my students? Isn’t the teacher’s job to find the best available tools for their students and not engage in some kind of open source software usage high score?<p>Edit: People are getting downvoted left and right. Why is this such a polarizing topic?
<i>It made available licenses for various nonfree programs, but I objected to them on grounds of principle.</i><p>I hope he also objected to taking payment for his own services on grounds of principle, lest people think of him as rather sanctimonious.
I will probably get downvoted a lot, and this is more or less pertinent to this, so here's a rant:
I am quite sick to make software work these days: someone coded something using Python3.6 and numpy1.18.5 then three years pass. Now, it's Python3.8.9 and the software is incompatible with it, so now I have to download Python3.6.5 (not Python 3.6.1) e try to make things work. But then TLS/SSL was discontinued and I'm getting weird messages. Download the source files, ./configure, make, make install multiple times adding different parameters, add new repositories to apt, try to download the right packages, end up installing the latest Python3.8.9, and other things I don't want. And the software still not works.<p>Oh boy. Something is got to change in making software.
What's wrong with having to pay for software? Or learning to accept that some software is proprietary? Or even with learning to use the right tool for the job, even if that "right tool" may sometimes come at a cost?<p>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"?<p>People put immense effort into developing software. Is asking for compensation for one's time and effort somehow wrong?<p>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?
While commendable, I don’t think this approach is useful. I also had a professor that only wanted to use FOSS for its students but the reality is that university should prepare - at least to a certain degree - for work.<p>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.
I am a fan of open software, and also a realist. I think what he did is great. My only concern is that the source code in the book is gpl licensed (and not MIT or better public domain). This means for the student taking the class he technically is not allowed to use anything later in his work life (except of course he works for an open source company, which only a few do, bigger exception if the company uses the software only inhouse - but then he is in the EE department, so this means most students might work on products later).