Hacker News new | ask | show | jobs
by neilv 2204 days ago
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.

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.

5 comments

Sussman is not just "a professor at MIT." He's one of the inventors of Scheme and one of the authors of SICP. And perhaps most apropos for this article, one of the founders of the FSF, along with of course RMS.
> Sussman is not just "a professor at MIT."

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

Agreed. This is a language habit I need to break.
> Sussman is not just "a professor at MIT."

You're the only person who said 'just'! You're arguing against something you said.

My intent was to elaborate on the parent's phrase "For a professor to use only FLOSS when teaching CS students...", not to accuse him/her of ignorance. If my use of the word "just" sounded argumentative, I apologize.
He didn't put "just" in his quotes, so it wasn't part of the wording being argued with.
Nowhere in the comment to which you're replying was Sussman called just a professor.
Sussman is awesome. But I'd like all professors, everywhere, to consider FLOSS as a possible good match for their missions -- and not dismiss it as something for only a handful of exceptional specialists to do.
My approach in all area - work include - is to use FLOSS by default unless I can't for some reason. Usability is one reason, and as a developer it's good to observe the flaws that drive me to commercial software at times. Why would anyone not choose FLOSS by default?
For some industries where the software is doing something mission critical, it's important to have complete control over the software and even more importantly, you need someone to sue
Is the importance of having complete control over the software an argument against using free software? Surely the best way to have control over it is to be able to read what it does and make it do what you want.
I think the interesting thing here is what I would call the tragedy of overregulation.

Most regulated businesses are big corporations with attached bureaucracies.

When they get a lawsuit because somebody was injured, what will happen is an analysis how this bug could occur.

If it is found that the problem was caused by a library or third party that could get sued, the corporation will sue them and get their money back.

If they find there's no one to sue like with FOSS, they will likely start regulating the use of FOSS.

This has the perverse effect that after a lot of iterations of this cycle the whole toolchain is designed for "sueability" not for quality, performance, or any other worthy goal. Further the toolchain becomes increasingly opaque and proprietary.

Even though the proprietary software has more bugs, and they're harder to find due to their closed source nature, the leaders of Big Corp have covered their asses. The engineers build more workarounds and spend less time improving the quality of Big Corp's code base. The quality of the product suffers. But none of it is the fault of anyone. That's what's important.

You'll be dealing with multiple contributors making changes if you want to upgrade to the latest version, with pull requests from all over the place. Nobody has time to read the entire codebase, so you have to audit and qualify all the random open source contributors instead of just the one group writing the code. You could start with a FLOSS codebase and then just keep any additions/modifications you make proprietary/not ever upgrade, try to fix security patches and things yourself. But that can become difficult, and if you find yourself actually tapping into the benefits of open source to be able to benefit from the collaborative work of thousands of coders, you're stuck having to trust lots of random people again. An old school finance firm could use R or Python, but a lot of them use SAS because you only have to qualify one provider, and if something goes wrong, you can sue them. You dont need to have programmers on staff to evaluate the codebase, you just need programmers that can use SAS. Newer forms and firms in less regulated industries are more comfortable breaking away from these to get the competive advantage of better tools, but it's not for everyone.
So you're really making the argument between writing something yourself versus using an open source solution, instead of picking between an open source and a proprietary solution.
No, I'm comparing R and SAS for example in the above post. Same arguments apply. And again, these arent general to all cases, just a subset of highly regulated/conservative industries
The answer to your question is in your comment. When you consistently have to pick commercial software over floss because of the usability, it makes sense to skip that step and go to the commercial software right away.
The problem with your reasoning is that often free software is better in usability.
Familiarity and momentum makes even convoluted and unusable software feel more usable (pointing finger at MSOffice).
This is exactly why we need to teach students with free software.
Agreed. But chicken and egg: most big-cos still use the MS suite. If they only know floss suites they'll feel lost at work.
I would say "it depends". Photoshop is easier to use than Gimp. But I would choose any Unix over Windows for development any day.
So would I. But my point was less about infrastructure software but the end user stuff: graphic editors, text processors, video editors, etc.
Can you name three products?
...but he doesn't really talk about what trade-offs he was forced to make.

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?

I've been in a couple meetings with Jitsi with up to about 20 people and it seemed to work fairly well although they were just interactive discussions and didn't involve screen sharing or other features along those lines. You get much bigger than that and you're tending to lean on chat/Q&A in a classroom/presentation format anyway.
At the University of the People [1], we use FLOSS exclusively. Disclaimer: I am a student.

[1]: https://www.uopeople.edu/

Imagine the potential to contribute. (ignore the pun)