I love open source
I run into a bug, I tinker around with it, I drop into IRC, I tell people about the bug, the maintainer works through it with me, the maintainer prepares a new release.
Yay. =)
I run into a bug, I tinker around with it, I drop into IRC, I tell people about the bug, the maintainer works through it with me, the maintainer prepares a new release.
Yay. =)
It is often helpful to think out loud on my blog, where I can be more informal and less structured. =) I'm working on an actor-network analysis of open source in developing countries, so I'll think about pieces of it over here before editing it into a more scholarly form.
Okay. Network dynamics.
It is instructive to start with the closed-source view of the world. Software developers in developing countries can take proprietary software solutions such as Microsoft Office or the Oracle database server, develop solutions on top of it, and sell these solutions to the local market. This allows developers to meet the needs of the market without spending a lot of time writing everything from scratch. The solutions also gain credibility through their association with global brands. However, this presents certain problems:
Cost. Although studies of the total cost of ownership show that labour costs far outweigh license costs, these studies do not reflect the case in developing countries where labour costs are lower and licence fees are disproportionately high due to weak currencies and other factors. See really crazy chart of GDP per capita vs licencing costs for Microsoft Office. Trade imbalance. Think of all those dollars flowing out of the country... I heard that Microsoft partners make 9 dollars for every dollar Microsoft makes - but that just means that 10% is going out of your economy, versus open source which lets you keep all the value-add inside the country. Lack of deep access. Without access to source code, developers can't customize closed source programs to really fit local markets through localization, customization, integration, etc. in ways unanticipated by the global developers or in ways that were not profitable for the global developers to support. Dependence. Local software developers become dependent on the proprietary software companies, which could change its licencing terms or discontinue product lines.Random Emacs symbol: gnus-article-strip-all-blank-lines - Command: Strip all blank lines.
Via Kelly Drahzal: there'll be a Free Software and Open Source Symposium in Toronto from Oct 26 to 27. Admission for full-time students to the symposium is just CAD 10.00! I will so be there, if only to hang out.
The workshops look like mainly intro courses, which isn't bad. I'd like to see more people get into development. I wanted to get into the workshop for educators because I want to convince everyone that open source development really should be part of all computing students' experience. I can get quite passionate about that! The workshop seems to be full, though, so I may need to talk my way in.
Coming? =)
On Technorati: opensource, oss, toronto, event
Didith Rodrigo, the chair of my alma mater's computer science department, seems to be getting a bit frustrated with people who've asked her to consider teaching students something other than Microsoft Word for word processing. She reasons: "I think that teaching tools is need-based. If there is some reason that the tool is more appropriate for the need, then fine. If not, then don't fix what isn't broken."
I'm going to go on a bit of a rant because I feel that it's important to expose students to choices that they might not otherwise encounter on their own. I agree with Didith's main point at the end - that it's not about the tools - but my particular bone here is that university's also where students should learn to abstract general principles.
This is how I understand the educational system's _supposed_ to work: people who want to learn about specific things go to vocational schools and workshops, and people who want to learn about abstractions and things they'd never encounter on their own go to university.
We shouldn't teach Microsoft Word. We should teach writing (note: not even word processing). We shouldn't teach Microsoft Powerpoint. We should teach presentation. We shouldn't teach Microsoft Excel. We should teach data analysis.
The problems these students face go _way_ beyond the tools. You can inflict death by bullet point in OpenOffice.org Impress just as easily as you can in Microsoft Powerpoint. So why not spend valuable class time talking about the principles of the thing instead of the tools? (Oh, if I had a dime for every word someone's read off the slides...)
Here's a quote that captures what I think:
"If you want to build a ship, don't drum up people together to collect wood and don't assign them tasks and work, but rather teach them to long for the endless immensity of the sea." - Antoine de Saint-Exupery
Fill them with the longing to write wonderful articles and make effective presentations! Inspire them through your examples! Help them reach out through their words! As long as students write only for their teachers and their classmates, you'll see bad prose and hear people read off slides. Show them examples, point out common mistakes and show them how they can improve, and put them in front of audiences that care about what they're interested in... If you can set them on fire, they'll _learn_ about all the nifty tricks hidden in whatever software they use - and it will be about the result, not the tool!
Note to self: I need to learn how to write really, really well. I also need to learn how to present really, really well. Then I need to figure out how to teach this while inspiring by example. I _so_ want to run a class on "Communication for Geeks", or something like that. ;)
But wait! Wasn't this supposed to be a rant about open source in education and how students should be exposed to open source alternatives?
I've written a fair bit about this in the past, but let's look at the Atenean case more closely. For the sake of argument, let's assume that there _aren't_ financial reasons to choose open source. The stereotype of the Atenean student is a middle-class or rich student who can well afford to buy legitimate versions of Microsoft Office. Truth is, quite a few people are on scholarships. Besides, most people quite happily pirate software or use whatever their computer dealer "bundled" with their computer because they just don't care about software rights or they don't think Microsoft deserves even _more_ money.
So let's ditch the financial and ethical incentives, and talk about the pedagogical one instead.
I taught for a short while, and even that short a while was enough to make me feel the pressure to cover everything in the curriculum. If a teacher's already having a hard enough time covering all the little features of one thing or another, how on earth is that teacher going to find time to explore and discuss alternatives? Won't that confuse the students and make them lose confidence?
I feel quite strongly that we should drag people out of their comfort zones every so often, particularly in university when they can mess up without losing money. I suspect that one of the best ways to check whether students can abstract the notion of, say, emphasizing text is to throw them at an unfamiliar but usable word processor like OpenOffice.org and see if they can figure out what to do. (Open source geeks can substitute "Microsoft Word" or "Emacs" as appropriate.)
I _want_ to make students feel a little bit uncomfortable. That discomfort is what drives learning in the future, where it's most important. I don't want students to stick only to what they know how to do. They should keep learning!
This belief is probably not going to make me very popular with students, most of whom would like to get through school with as little effort as possible - but we need to help them develop critical thinking and abstraction, and we need to help them figure out how to figure things out.
I think that to know one thing is to know that one thing, but to know two things is to know two things, their similarities and differences - _and_ to know that I can learn more.
It doesn't even have to be open vs closed source. It could be two closed source ways of doing things, two open ways of doing things, whatever. But it has to be sufficiently different to force the students to think about their abstractions and to expose bugs in their understandings... =)
Hey, would _you_ test a program with only one test case? ;)
On Technorati: learning, teaching, oss, opensource, communication
Random Japanese sentence: 「ã„ã„ãˆã€ÂÂã¼ãÂÂÂÂã§ã™ï¼ÂÂã€ÂÂã¼ãÂÂÂÂã§ã™ï¼ÂÂã€ÂÂã¼ãÂÂÂÂã§ã™ï¼ÂÂ〠百匹ã®ãÂÂÂÂã“ã€ÂÂåƒ匹ã®ãÂÂÂÂã“ã€ÂÂ百万匹ã€ÂÂ一億ã€ÂÂ一兆匹ã®ãÂÂÂÂã“ãÂÂ΋„ã„ã¾ã—ãŸ。ã©ã®ã ã“も自分ãÂŒ一番美ã—ã„ã¨ãŠもã£ã¦ã„ãŸã®ã§ã™。 No, I am! I am! I am! Cried hundreds and thousands and millions and billions and trillions of voices, for each cat thought itself the prettiest. [M]