Tags: oss

RSS - Atom - Subscribe via email

I love open source

Posted: - Modified:

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. =)

Blogging away my writer's block

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.

Free Software and Open Source Symposium, Toronto, Oct 26-27

Posted: - Modified: | event, free and open source, toronto

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? =)

Microsoft Word in schools

| communication, free and open source, learning, teaching

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? ;)

hundreds and thousands and millions and billions and trillions of
voices, for each cat thought itself the prettiest. [M]