Software Wars: A film about FOSS, collaboration, and software freedom

No readers like this yet.
An old-fashioned video camera

Opensource.com

The impact of software has changed our lives. But the average technology consumer doesn't realize how important having access to source code and an open development process is to our overall freedom. Keith Curtis, a University of Michigan dropout turned decade-long programmer at Microsoft turned open source advocate, wants to change that. 

On his website, Curtis says, "We need to pool our collective intelligence and get to work on fixing our most serious threats—and in today's society that begins with having great software." In his book, After the Software Wars, Curtis exploits the flaws in the proprietary software development model. And today, he's taking the whole thing mainstream by making a film.

"If you can control the software, its like controlling the flow of oil," says Linux creator Linus Torvalds in a trailer promoting Software Wars. Other free software advocates are also featured in the promo.

We caught up with Curtis during the final days of his Indiegogo campaign to discuss the hopes for the new film.

Interview with Keith Curtis

What is Software Wars about?

KC (Keith Curtis): Software Wars is about the idea that with more cooperation among scientists, we can build a better and fun world. People have been working on AI (artificial intelligence) for 50 years, but mostly in small groups. If they had been working together, we'd know their names the way we know of Linus and his lieutenants. Google is working on language translation by themselves. Their code for driverless cars (much written in C#, I believe) is also not built with the help of a community. IBM's Watson was proprietary even while it leveraged a lot of existing code. The biotech world has tons of proprietary software and closed and fragmented repositories of data. We have more than enough people to solve many problems, but we need to encourage people to work together effectively. Teaching Python to kids will be one of the case studies.

Who is the intended audience?

KC: The movie will have some technical ideas, but relatively little jargon. It will be inspirational, which will hopefully hold most peoples' attention. Of course, I'm biased, so I think the topic is interesting, but we want to make the story enjoyable to someone who doesn't already know or care about the idea.

However, we also want to make it worth watching for people who already know 90% or more of the ideas. If you can't make a movie enjoyable to someone who is already interested and therefore knows about the topic, then you have failed.

Because the movie is an explanation but also a critique of the existing world, this happily forces us to cover things that many technical people don't know. If they all knew what was in the movie, more crazy things would have happened. The trailer is a first attempt at achieving this balance. The final feature will be more polished in every regard. There are a mix of people working on this with different experiences and interests and together we will hammer it out.

It will be positive towards the idea of using communities to solve big problems, but it won't be propaganda. We aren't afraid to criticize the current state of Linux, but there are various specific problems we won't cover. One of the biggest recent examples is the IBM / Apache OpenOffice fork. That is a 110% waste of time that unintentionally gives Microsoft billions more dollars and promotes the continued dominance of Office and Windows. We'd be happy to document this mess, and were able to interview Michael Meeks about it, but the IBM and Apache people involved should know better and so we'd mostly just be talking to ourselves. We aren't trying to hide any mistakes or present only half of the story, but it will be a few big points rather than multiple examples like that. That situation can be considered as part of the general point that people need to be working together effectively.

What kind of open source technology will be used in the production of the film?

KC: The sad answer is not much. I use Mint-Debian, working mostly in LibreOffice, sometimes using apps like GIMP and Audacity, but putting the pieces together will be done in Final Cut Pro. We will farm out the graphics work to people in Los Angeles to attack the various elements in parallel but we haven't gotten to that yet. The music for the feature will hopefully be mixed by Chloe Harris, and she works on a Mac—which she hates!

For non-technical people, the jump is not easy. When I first used Red Hat in the Fedora Core 3 timeframe, I had to compile an Intel wireless driver, tweak my xorg.conf, etc. to get my laptop to where I liked it. It was an interesting and useful introduction, but many people don't understand computers and therefore cannot fix their problems, so the transitions are a big deal. The audio / video situation on Linux still needs work.

What are the top three things happening in the world today that you feel perpetuate our need for open source?

KC: I think the three biggest software pieces missing are around computer vision, strong AI, and health sciences. Those areas are languishing in terms of not enough people working together effectively. Various software aspects of the space elevator can be done today, although ultimately it will take about $10B to get that really started. (That looks like a large amount of money, but it would increase the US deficit if paid for in only one year from $1.4T to $1.41T.)

Why do people not know about open source on a large scale and does the production of this movie help turn that tide?

KC: The average user doesn't know these details, but in terms of turning the tide, I think the bigger problem is that not enough technical people understand either. Why is Google Now proprietary? Why do so many people use Mathematica, Matlab, Maple, etc. instead of Python / Sage? Surely they know of Wikipedia and Linux and understand the point. There must be cognitive dissonance inside a company like Google, where they use Linux everywhere, but call their own code "secret sauce" as one person described his work to me.

Why does Dell make it so hard to buy a computer with Debian, Red Hat, Ubuntu, etc. pre-installed? Somehow Dell can offer you a thousand hardware choices for a laptop, but none for the software except whether you want Windows 8 Professional or Microsoft Office Professional. The more average consumers, government employees, etc. know about these ideas, the better, but ultimately it is a relatively small number of people who already know plenty about Linux who are mostly holding things up. We don't worry about the tides, we are just trying to finish a video.

What I think are the coolest are pervasive robotics and a space elevator. Once people realize we could have built them years ago, the arguments for getting it soon should go faster. Wikipedia was created in 2001, but it could have been started decades earlier. Someone pointed out that Debian cost more to build than a space elevator. Obviously you can't compare hardware and software, but the scale of engineering says something: we can do big things if we want to. There is a lot of software at places like Boeing and NASA. Any elevator, whenever it is started, will have Linux controlling the climbers and running mission control. The more technology we create and share, the easier it will be to solve the next problem. Brad Edwards says we can build one in 10 years, so we'll put the message out there, again.

How would you address the general public who are less concerned about 'freedom' and more concerned about 'getting things done?' Is there a middle ground that allows for the best of both worlds here?

KC: People should be concerned both about freedom and getting things done. DRM adds costs for consumers, electronics stores, and artists. A lack of freedom frequently has practical consequences in the real world. Not many people have owned a printing press, and yet many more were rightly concerned about having a society with a free and honest press. The more people who use Linux, the easier it will be for even more people to get things done.

With a product like Apple, you have to wait for them to fix a problem, and more users doesn't really translate into more contributors like it can for Wikipedia and Linux. The more users Apple gets, some of whom want to customize and improve their own devices, the more they make it harder to even open them. This isn't a war between companies, but between philosophies.

In the FOSS (free and open source software) world, there are so many ways to fix problems and improve things that on the whole it becomes polished. I bought a Mac for testing purposes while writing the book, and out of the box it didn't understand how to play WMA files, and had many other obvious missing features. With Linux, more things just work, which allows you to get things done. The Gnome 3 transition has regressed the Linux desktop by a few years but in general, most people could be running Linux today.

As Jono Bacon put it in his interview, Linux is like a new pair of leather shoes: they hurt like hell for a few days, but then you settle into it. This of course assumes you are not switching complicated programs or programming languages. Switching professional and enterprise software can take more than a few days. People should demand their applications run on Linux so it is there for them when they are ready.

What do you want viewers get out of the film?

KC: I'd like them to be entertained and inspired by the people we interview. If Linus were any smarter, he'd be leading up the X-Men. We can't have literal fight scenes, but we will try to have pretty graphics. As long as we polish interesting responses, people should enjoy the story (whatever it ends up exactly being) and possibly learn something. The ideas are empowering. Everyone can watch the movie, and then find their own way to make a better world. Even buying an Android device rather than an Apple helps move the world in the right direction, and there are countless ways. The list of things to be done is very large. It would be helpful to change the laws around software patents, DRM, etc. It would be great if more people were inspired to crowdfund.

Avatar
Jason Hibbets is a Community Director at Red Hat with the Digital Communities team. He works with the Enable Architect, Enable Sysadmin, Enterprisers Project, and Opensource.com community publications.

17 Comments

<cite>Any elevator, whenever it is started, will have Linux controlling the climbers and running mission control.</cite>

If you want an operating system on which lives depend, Linux is not there. Windows is not there. iOS is not there. None of these are safety certifiable under something like Do-178B.

OpenComRTOS is there. (Which has an Open Technology License, like FOSS but everybody has to pay once and you get ALL the source for the complete toolchain and proper design documentation test results etc. for safety certification)

SafeRTOS (a safe re-implementation of freeRTOS - API compattible) is there. (You also get the source after you pay, but you can't buy the complete technology.)

These two are the closest to "open" that exist. There are other safety certifiable RTOSs which are proprietary: VxWorks, Integrity, LynxOS, QNX, PikeOS, SCIOPTA, ENEA OSE and others...

P.S.: I love Linux on the desktop and on my mobile. I refuse to run anything else. But unfortunately you can't have lives depend on it.

The US federal agency FAA runs Linux to manage and coordinate air traffic control and all the airplanes flying around. I'd say that is pretty life-dependent. Any time you fly in the US, you depend on Linux.

But this isn't really about Linux. This is about freedom. I don't think anyone should have to pay for source code, even if it's just once. That's the whole point of the FOSS model.

Jason

FOSS is most certainly NOT about getting code without paying for it! Freedom isn't the same as freebies. Let's not confuse the two just because the English language does.

I said source code, not software.

Again, free != free. Open source doesn't mean freebies. Projects with open source licenses are under no obligation to give their source code away to anyone who asks.

<cite>Projects with open source licenses are under no obligation to give their source code away to anyone who asks.</cite>

Depends. A GPL project with code by others (you can distribute your own code however you like) that distributes binaries without source (e.g. on a mobile device) is required to offer the source to any third party that asks for it. They can only charge shipping costs, so it is a "freebie" in that sense.

Sure, but my point is that you're free to charge for your software. The GNU website is very explicit about that.

But then you can't prevent me from redistributing your GPL code free of charge, even if you made me pay for it.

So at some point, the freedom granted to users implies gratuity.

<cite>The US federal agency FAA runs Linux to manage and coordinate air traffic control and all the airplanes flying around.</cite>

Are you sure? Somehow I find this difficult to believe. Perhaps you read the Linux Journal article <a href="http://www.linuxjournal.com/article/7066?page=0,1">Linux in Air Traffic Control</a> which explains how Linux was used for desktop testing in favour Windows NT. They actually used LynxOS which has a POSIX API, but LynxOS is definitely not Linux.

The FAA would actually require conformance to DO-278A "Software Integrity Assurance Considerations for Communication, Navigation, Surveillance and Air Traffic Management (CNS/ATM) Systems" for any software Air Traffic Management system. Safety certification is about more than just the source code. Certification also requires things like a PSAC (Plan for Software Aspects of Certification), a SDP (Software Development Plan), a SVP (Software Verification Plan) and traceability between source code and requirements, 100% code coverage, MCDC testing. Linux has none of this.

For all these additional requirements that need to be met for safety certification, Open Source is not enough. Coding could only contribute 10% of the cost of safe software. Also, for every change made to the software, the complete application must be re-qualified on the target hardware.

I remember reading an article similar to this a few years ago:

FAA manages air traffic with Linux
http://fcw.com/articles/2006/05/01/faa-manages-air-traffic-with-linux.aspx

I don't know about all those certifications, maybe someone else in this community has more knowledge about that and if there are open source solutions addressing those requirements.
Jason

Jason, I loved your interview, but will all due respect, running a piece of equipment (like a space elevator) is *not* the same as running an air-traffic control system. Let's just say that RTEMS and VxWorks have "deadline schedulers" and one is only now being merged into Linux mainline. The needs of hard real-time are not impossible for Linux to accomodate, but Thomas Gleixner and others have been working to add them for years, and aren't done yet.

I donated to Keith's Indiegogo campaign even though it has failed. I find his comments remarkably inspiring. Thanks for posting!

Here is two websites that tries to marry Open Source and Safety Certification:
The Goals of http://www.open-do.org/about/
<cite>
<li>Address the "big-freeze" problem of safety-critical software;
<li>Ensure wide and long-term availability of qualified open-source tools and certifiable components for the main aspects of safety-critical software development;
<li>Decrease the barrier of entry for the development of safety-critical software;
<li>Encourage research in the area of safety-critical software development;
<li>Increase the availability of educational material for the development of safety-critical software in particular for academics and their students;
<li>Foster cross-fertilization between open-source and safety-critical software communities.
</cite>

The Goals of http://opencert.iist.unu.edu/
<cite>
<li>product and process certification
<li>certification standards
<li>formal modelling and verification (model checking and theorem proving)
<li>software quality and reverse engineering
<li>static analysis, testing and inspection
<li>safety, security and usability certification
<li>languages and architectures
<li>software evolution and reconfigurability
<li>automated source code analyses
<li>cloud computing
<li>knowledge management
<li>empirical studies
</cite>

RTEMS is a BSD-licensed RTOS that runs a large fraction of the Stanford Linear Accelerator Center. The IDE is kind of crap, but the software is relatively to learn, and is rock-solid, with an integrated state machine. In recognition of its utility, RTEMS has had large numbers of Google Summer of Code students.

Owesome

By the way, there are plenty of FDA approved Medical Devices that run Linux. Medical Device standards like ISO 13485 and IEC 60601-1 are all about change control, QA, and risk management.

In the FOSS (free and open source software) world, there are so many ways to fix problems and improve things that on the whole it becomes polished.

No sir. I installed Linux recently and immediately had problems with the mouse freezing on screen. Frustrated, I began the troubleshooting search and found this was a common problem with no solution. There were bug reports filed and waiting to be addressed. I'm sorry but if you can't even get a mouse to work right, Linux will never be mainstream.

Dan, I'm sorry to hear about your mouse trouble. If you want to give it another go, can I suggest asking a local Linux Users Group (LUG) for help. The strange thing about Open Source is that people will go out of their way to help each other.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.