You HAVE to present to people a tangible long term issue with using closed-source software that they can UNDERSTAND. Geek ideology isn't enough, and if that's all that you've got, then no wonder closed-source tech is still going to dominate.
I agree completely, and I would like to point out one area that open source can make some inroads in: file formats. Many users of closed-source software use applications that store their data in proprietary file formats. While this may not be a serious problem for users using de-facto standard tools such as Microsoft Office where finding a copy (even an older version) is not difficult and where competitors have created tools that are mostly compatible with these file formats, this is a problem for users who are using less-popular proprietary software applications, where conversion tools may be hard to find or even non-existent. This may be a serious problem if the user decides to upgrade his or her computer and/or switch platforms, or if the user plans on storing those files for long period of time. From proprietary email archive formats, to the often-mentioned scenario of a small business using a database application written in 1994 by a software company that went out of business in 1997, and many other cases, it's a common problem.
While emulators are helpful in such cases, it would be nice if a user in a similar situation had an up-to-date, cross-platform tool that can handle the file. Had the user used an open-source product, there is a higher chance that somebody might have made a tool that handles that file format; the file format specification is available, the source code of the reference implementation is also available, and there were probably other users of the tool, including the developers of it. If a tool is not available, the user could even make a donation to help a technically inclined person write a conversion tool; the open source nature of the tool makes it possible. With a closed file format, however, the user is out of luck in this situation; even if he or she paid a technically inclined person to write a tool, the technical person would have to reverse engineer the file format, which may be very difficult and may be prohibitively expensive for the user (those files would need to be very important for a user to take this route).
This is one case where I believe users can benefit from using open-source software, although I do know that proprietary software products sometimes use open file formats; this is more of an issue of open file formats than open source software.
In the school district that my charter school was part of (regarded as one of the best school districts in my area), all high school students had to take a one-semester economics course. I learned about Adam Smith, communism, and Keynesian economics in that class (I also learned about Marxism from a philosophy elective that I took that same semester), as well as mercantilism. We even learned about supply-side economics, too. Interestingly enough, my economics teacher was the wife of a businessman who was running for congress as a Republican that semester (he ended up losing, though; he was running in a place in California where the Democrat usually gets elected by a wide margin). We did not learn about Chicago School or Austrian School economics, but my textbook did have sections featuring Milton Friedman and Walter Williams. I learned about the Chicago School and about the Austrian School from reading Slashdot postings from libertarians and by subsequently reading books and articles from Milton Friedman, Ludwig von Mises, Murray Rothbard, and other similar economists.
I'm not sure what the uproar is about...if you agree to develop apps for Apple's devices, this is the agreement you sign. If you don't like it, don't make apps for Apple products.
Well, if enough developers grow frustrated with Apple's restrictions to the point that they heed your advice, then Apple would have some problems selling iPhones/iPod Touches/iPads. I usually don't quote Steve Ballmer, but he was right when he paraded on stage many years ago about "developers, developers, developers!" One important key to the viability of a software platform is how well the developers writing software for the platform are treated. If developers have access to high-quality tools that work well and are easy to use and well-documented, and if developers are not stymied by too many burdensome restrictions, then developers will be very enthusiastic for developing for the platform. The converse is also true; platforms with bad tools and restrictive development environments usually do not garner much support unless there is another factor (such as marketshare money) that motivates developers to develop software for the platform.
Now, judging by the amount of software available for the iPod Touch/iPhone/iPad, there are a lot of developers who do not feel bothered at all by Apple's restrictions. Developers are also willing to develop for platforms that have a large marketshare, no matter how restrictive (as in the iPod Touch/iPhone/iPad) or unglamorous (I'm looking at you, x86 instruction set) it is. However, I'm willing to go out on a limb and say that the iPhone platform would have much more software available if Apple treated it like they treat Mac OS X or how Microsoft treats Windows, where anybody can come, develop any software for the platform, and have no say over how the software is distributed. The iPhone, as well as the iPad, has a lot of potential as a small, hackable device; it can go in many directions that Apple has not dreamed of. But due to Apple's restrictions, these developers will have to implement these directions on a platform that is more conducive to hacking. Perhaps if those alternative platforms start taking off due to the free, unrestricted availability of software, then those alternative platforms may gain more users, and Apple may reconsider their iPhone/iPod Touch/iPad restrictions and start opening up their platform.
But, yeah, my point and opinion is that a closed development policy can only work well for so long. Once hackers start showing off the true potential of portable devices that are not stymied by restrictions, then the iPhone and its siblings may face serious competition, competition that it might not face if the iPhone were open like Mac OS X and Windows from the start.
Contributing to open source projects is not research; it is development focused on open-source products instead of closed-source products. Research would be developing new ways to improve operating systems, compilers, and web servers, for example, based on certain criteria (performance, security, design, etc.). For example, Plan 9 is a research project. There is plenty of research in academia and industry that are geared toward solving real-world problems. For example, many of the advances in computer hardware, such as deep pipelines and multicore processors, started out as research problems. But contributing to an open source project is different from research. I fail to see how contributing to GCC or WebKit per se solves any problems in computer science, which is the definition of research, unless those contributions are a result of research.
I don't want to be young again, I just don't want to get any older.