So most people make their money from... uh
not writing boxed applications but actually writing
custom software and making kind of
improvements to software, and fixing software for other people.
And actually free software is a wonderful place to do that kind of work.
I've been doing free software for a long time.
Previously I worked... uh... way, way back now... 10 years ago
in NHS IT. It's the National Health Service IT project
based in Leeds, in the UK.
And my job there was really to maintain... um...
some free software we were using to power our website.
So we had... um... a thing called Plone.
And we were using Apache and Linux and GNU and Debian
And all these other things to kind of
make this thing happen.
So my job was primarily to make sure that kept working
to add features to it, to add new functionality
and to kind of maintain it.
And so I was paid to do that job
And I left there, went to the University of Manchester,
And had a job that also paid me to make and maintain free software.
And there's kind of an overriding pattern here, where I did that for a lot of my jobs.
At the free software foundation, my job was more focused on campaigning.
I was the masterhead behind some campaigns like
Defective by Design, Windows 7 Sins, PlayOgg for a coupla years.
So I would write articles
and I would do a lot of editorial-type work
on those things.
But at the same time, maintaining my own free software projects... uh...
in my spare time.
And now I'm at Creative Commons,
and Creative Commons - surprise, surprise -
pays me to uh... look after free software projects
and to maintain and write free software.
And so, um,
if you would like to work in this kind of field,
I would suggest you... become reasonably good at programming,
you know your licenses, know your background
and kind of have a... strong desire to make free software a reality
and people need free software developers.
Um, WordPress is a great example of a very, very
common piece of free software,
that's not going away anytime soon.
People will always need people to write plugins,
help the people, be supportive
Um, write themes, write add-ons for WordPress
And if you're really good at free software development,
then you can even, y'know, work on WordPress itself!
Y'know WordPress is a community project, too, so people need...
The people who work on WordPress are volunteers, primarily
in their spare time.
But, some of them also work for the company behind WordPress.
And so I think... the very best WordPress developers in the world
get the opportunity to work, full-time, as their paid job on WordPress.
You have to start somewhere,
you don't just get a job in free software from nowhere, but you can uh...
If you already have a job writing programming, doing programming stuff
you probably already use some free software tools.
See if you can convince your boss
to allow you to release your changes
out to the world. And if you can, then
find the right community and give them the changes back
and you could very soon find yourself doing that for a living.
[Sean] How does it work in terms of
organizing teams of developers to kind of maintain free software.
[Matt] The way it really works is that, um...
If you are a developer and you enjoy a piece of software,
you can be part of its upkeep.
So, generally speaking, most software that's free software
is developed in public, using sites like Sourceforge historically
or nowadays in things like Gitorious or Github.
You can go along, get a copy of the code,
find bugs, fix bugs, add new features
and kind of push that code, that you've made,
back to the main development team.
In general, what happens is there's kind of a process whereby
You send in a few bugfixes,
a few, like, suggestions
and then eventually, after a while,
they get kinda like, "This guy's okay
we'll let him into the team."
And then, you become part of that development team.
If they use Git, for example,
go and check out a copy of the Git code
and, make your changes locally,
but also, as you make your changes, check those changes into Git.
So that you have your own version of that code locally
You can kind of back-and-forth through it
and kinda see what you did along the way.
And when you makes commits to that good Git project
make good comments, so you kind of remember what you did.
Don't just leave a one-line, sarcastic response, which is what I often do.
Try and leave good comments
and that way you'll kind of be able to go back in time
and see what you did.
And then when ultimately,
when you eventually get those changes adopted by
the big community project,
they'll be able to see the same thing you can see
they'll be able to see what you did.
And so, it's not so important to structure your code super-well
because, as long as you kind of make it work and you make good comments
then that can be cleaned up afterwards.
Look at companies like MySQL
and redhat, and they've made lots and lots of money from doing free software stuff.
So, you would definitely
[Sean] Canonical are one one of those are they as well?
[Matt] Canonical does have teams developing
certain pieces of free software.
I think the difference between Canonical and redhat is that
redhat develops software that's generally widely used
by all the free software users,
like Gnome Desktop and other things
whereas I think what Canonical does is a different model
and they actually develop kinda their own free software.
They release it as free software but it's mostly used for
the Ubuntu community and the Ubuntu users.
It's not so widely used outside of Ubuntu.
That's not an unreasonable thing
that's a, y'know, perfectly valid way to create software, y'know.
And, of course, there's nothing stopping
the teams at redhat and other companies and other organizations
from taking the Canonical code and reusing it for other things.
y'know, so...
If you are gonna
take code from other projects,
and you can of course do that,
then you make sure that the code you take is under a license that works
with the license of the project you're taking things into.
So, for example, if you're taking code from, um...
WordPress, you can't really take that code and put into a project that not under the GPL.
You would have a hard time wrangling that
and you would have an even harder time getting your changes
taken in by another project
because that file would then be under
at least partially under the GPL.
You should never let that kind of thing
dissuade you from taking stuff,
because it's free software, it's there to be taken
but, at the same time, you should just know the obligations
that you then have, um, as a developer
to kind of make your changes available to people.
So that, y'know, when you take your widget
from something that's GPL
and you put it on the web,
you then have to make sure that people can get the source code
to your changes, too; you can't just uh...
[Sean] Is that the share-alike sign?
[Matt] That's the share-alike part of things, exactly, yeah.
So if you have companies that for some reason don't want to use free software,
well then, take advantage of them
and sell them a copy for 2,000 dollars or 10,000 dollars
whatever you can get,
but, the same product should be free software at the same time
for those of us who are in the community that want
to take it and improve it and share it.