Teaching kids about open source? Don't forget to teach them ethics as well. Back when I started college, in the fall of 1988, I was introduced to a text editor called Emacs. Actually, it wasn't just…
Article word count: 1506
HN Discussion: https://news.ycombinator.com/item?id=19606846
Posted by rbanffy
(karma: 78922)Post stats: Points: 158 - Comments: 73 - 2019-04-08T16:49:57Z
Teaching kids about open source? Donʼt forget to teach them ethics as well.
Back when I started college, in the fall of 1988, I was introduced to a text editor called Emacs. Actually, it wasnʼt just called Emacs; it was called "GNU Emacs". The "GNU" part, I soon learned, referred to something called "free software", which was about far more than the fact that it was free of charge. The GNU folks talked about software with extreme intensity, as if the fate of the entire world rested on the success of their software replacing its commercial competition.
Those of us who used such programs, either from GNU or from other, similarly freely licensed software, knew that we were using high-quality code. But to our colleagues at school and work, we were a bit weird, trusting our work to software that wasnʼt backed by a large, commercial company. (I still remember, as a college intern at HP, telling the others in my group that I had compiled, installed and started to use a new shell known as "bash", which was better than the "k shell" we all were using. Their response was somewhere between bemusement and horror.)
As time went on, I started to use a growing number of programs that fit into this "free software" definition—Linux, Perl and Python were the stars, but plenty of others existed, from Emacs (which I use to this day), sendmail (pretty much the only SMTP server at the time), DNS libraries and the like. In 1998, Tim OʼReilly decided that although the "free software" cause was good, it needed better coordination and marketing. Thus, the term "open source" was popularized, stressing the practical benefits over the philosophical and societal ones.
I was already consulting at the time, regularly fighting an uphill battle with clients—small startups and large multinationals alike—telling them that yes, I trusted code that didnʼt cost money, could be modified by anyone and was developed by volunteers.
But marketing, believe it or not, really does work. And the term "open source" did a great job of opening many peopleʼs minds. Slowly but surely, things started to change: IBM announced that it would invest huge amounts of money in Linux and open-source software. Apache, which had started life as an httpd server, became a foundation that sponsored a growing array of open-source projects. Netscape tumbled as quickly as it had grown, releasing its Mozilla browser as open-source software (and with its own foundation) before going bust. Red Hat proved that you could have a successful open-source company based on selling high-quality services and support. And these are just the most prominent names.
With every announcement, the resistance to using open source in commercial companies dropped bit more. As companies realized that others were depending on open source, they agreed to use it too.
Fast-forward to today, and itʼs hard to avoid open-source software. Itʼs everywhere, from the smallest companies to the largest. There are still commercial versions of UNIX, but Linux is really all anyone expects or talks about. And Linux is indeed everywhere. My Python and Git courses have never been in greater demand from companies that want to teach their employees to improve their familiarity with these technologies. Whereas it once was possible for one person to know, and to know about, the majority of major open-source software titles, today thatʼs completely impossible.
Several years ago, while on a flight, my personal screen had some problems. I asked the flight attendant for help, and she told me that itʼs probably easiest just to restart the screen. Imagine my surprise when I saw myself looking at the Linux boot sequence, in my seat at 30,000 feet! It was at this point that I realized that open source, by virtue of being both inexpensive and open for people to examine and modify, had indeed arrived.
Whatʼs amazing to me is how even the companies that were most against open-source software have become advocates—not necessarily out of love, but because thatʼs where the market is heading. Microsoft is not only using open source, itʼs also actively engaging with and supporting the community, encouraging the use of open source, and even contributing.
So, have we made it? The answer, of course, is both yes and no. There is no doubt that open-source software has arrived, succeeding beyond my wildest dreams. I mostly earn my living teaching Python and Git to companies around the world, and itʼs hard to exaggerate the demand for such technologies. Companies are adopting open source as quickly as they possibly can, simultaneously reducing costs and increasing flexibility. Students are learning to use open-source technologies and languages.
So yes, if measured by market penetration and the acceptance that open-source software can compete, we have definitely won. Sure, thereʼs work to do on the desktop, but the achievements to date are real, tangible and impressive.
But, itʼs no longer enough to be widespread or even dominant. As a few people were prescient enough to foresee long ago, our world of interconnected computers, phones and devices is generating enormous quantities of data, stored beyond our reach, analyzed by algorithms we cannot see or check, and being used to make decisions that can affect careers, education and medical care, among other things.
Moreover, the business model that was both clever and profitable for so long, namely advertising, has come with an enormous trade-off, in that a number of corporations know more about us than we even know about ourselves. Whatʼs amazing is that the advertising-supported services are often so good and useful—and free of charge—that we ignore the ramifications of sharing everything about ourselves with them.
From the perspective of todayʼs young people, the internet always has connected us, smartphones always have existed, and the apps we use on our phones and computers always have been free of charge. And if you have to share some of your data, then so what? People no longer seem to be as concerned about privacy and about how much theyʼre sharing with these companies, as was once the case. Perhaps thatʼs because people are getting such obvious benefits from the services they use. But perhaps itʼs because people are unaware of how their data is being used.
The April 2019 issue of Linux Journal is all about kids, but itʼs also our 25th anniversary edition, so itʼs an appropriate time to ask "What should we be teaching our children about open-source software?"
A few years ago, MIT changed its intro computer science course away from the traditional (and brilliant) class that used Scheme to one that used Python. This certainly made big waves and has influenced hundreds of universities that now also use Python. When MIT changed the curriculum, the professors who wrote the course indicated that for todayʼs software engineers, learning to code isnʼt enough. You also need to learn topics such as ethics. Many programmers will be asked to do things that are unethical, so itʼs important to think through the issues before you encounter them at work. Heck, just determining what is considered ethical is a knotty problem in and of itself—one that many developers have probably never considered.
So yes, itʼs important for us to teach kids about Linux and open-source software. But itʼs not enough for us to teach them about the technical parts of things. We also need to inform them of the societal parts of their work, and the huge influence and power that todayʼs programmers have. Itʼs sometimes okay—and even preferable—for a company to make less money deliberately, when the alternative would be to do things that are inappropriate or illegal.
Itʼs important to teach and discuss machine learning—not just as a set of technologies, but also to understand how models work, how they can be wrong, and what you need to do in order to get them right. Itʼs important to discuss how and when such algorithms should be shared with the public and made available to public audit.
And, itʼs important to explain that no one has a perfect answer to these issues. Itʼs okay to have disagreements. But raising these questions and problems is a major responsibility, and itʼs important that kids learn from an early age that programming has real-world implications—some of them potentially bad. We donʼt let people drive until they have demonstrated at least the minimum understanding of how their actions can affect others. Iʼm not suggesting we require programmers be licensed, but that we raise these important points frequently.
Linux Journal has been at the forefront of the Open Source movement for 25 years now, pushing and encouraging us to imagine a world where software is of high quality, available to all, at low or no cost, and that invites us to experiment and tinker. Iʼm proud to have been writing for this publication for much of that time—since 1996. And although this column generally will continue to have a technical focus, Iʼm glad that Linux Journal, as a publication, is focusing on the societal impacts of our work.
HackerNewsBot debug: Calculated post rank: 129 - Loop: 284 - Rank min: 100 - Author rank: 26