Yesterday I went to beCamp 2008 along with four roomfuls of other people interested in technology (perhaps close to 100 people total). The conference was a lot of fun. Not everything went as planned, but that was as planned. This was an Open Spaces conference and I thought it worked very well. From an email Eric Pugh sent:
Basically it all boils down to:
Open Space is the Law of Two Feet: if anyone finds themselves in a
place where they are neither learning nor contributing they should
move to somewhere more productive. And from the law flow four principles:
- Whoever comes are the right people
- Whatever happens is the only thing that could have
- Whenever it starts is the right time
- When it’s over, it’s over
From Hadoop to Bang-Splat
I used the law of two feet a time or two. In fact, the first session I wanted to go to, which was about Hadoop and MapReduce, had no knowledgeable attendees. Someone overslept. OK, that’s the way it goes: move along.
From there I went to a session about Unix command-line productivity. Most of the sessions I saw were traditional in that they had one person standing up talking and many people sitting and listening, but not all. This one had several clever command-line gurus mentioning their favorite power tips.
I learned about bang-splat and bang-dollar. The bangs have always gotten me in Bash: I avoid them because I’ve never felt like reading the Bash man page section on them. (Am I too lazy, or not lazy enough?) So it was great to hear some people say “bang-splat and bang-dollar are great” and then explain them. That was easy for me, and now I know how they can be useful to me.
This problem-first type of tip is great for me: tell me the problem, then how to solve it, rather than telling me what the solution is and leaving me guessing what kinds of problems I can solve with it. (The Bash man page is solution-first).
In case you’re wondering, bang-splat substitutes the arguments to the last command, and bang-dollar substitutes the last argument of the last command. So, instead of this:
$ touch file1 file2 file3
$ rm file1 file2 file3
I can do this:
$ touch file1 file2 file3
$ rm !*
There were lots of other nice tips too.
MySQL Performance
I ended up doing a talk on MySQL performance basics. I had no idea what the audience was looking for, so I winged it. I did make some slides, but most of the talk isn’t on the slides. You can get the slides from Percona’s slide page. It seemed to be useful to the folks attending, who had a wide variety of experience and knowledge about MySQL.
Cloud Computing
This session began with a demo of how to create an entire application stack in a few minutes with Cohesive Flexible Technologies. Someone else then demoed a similar thing using RightScale. rPath’s Jeff Uphoff was also in the room, but we didn’t get to see a demo of that. During this session the talk turned to various topics including a little bit of the topics I wanted to hear about in the Hadoop session.
Lunch
Lunch was catered Indian food provided by the Rimm-Kaufman Group. Yum.
Large Scale Storage
This session was sort of a round-table. The two people who talked the most were Josh Malone from the National Radio Astronomy Observatory and the Library of Congress, both of whom have a lot of storage needs they are unsure how to meet. Some people from UVA’s library were there as well, but I didn’t ask what they were working on.
This reminded me a lot of a recent keynote Jacek Becla gave at another conference. He’s with the Stanford Linear Accelerator Center, who are going to be generating a lotta data pretty soon.
High Availability Linux
This one started off with more from Josh Malone, who demoed Nagios briefly and then talked about his storage and backup systems. He uses BackupPC, which sounds pretty neat and very smart. We then talked about some of the things he’s looking into doing, with audience suggestions to look into shared storage or DRBD. We also looked at UltraMonkey briefly — it looks like it’s stagnating, though. And the Linux HA project.
Google App Engine
Finally, someone showed us a calculator application they’d built on Google App Engine, including the code and talking about the data model somewhat. It looks like a neat idea, but the lock-in worries me, a sentiment that was voiced by many others in the room.
Technorati Tags:BackupPC, BarCamp, Bash, beCamp, beCamp2008, DRBD, Eric Pugh, Hadoop, Jacek Becla, Jeff Uphoff, Josh Malone, MapReduce, mysql, Nagios, Rimm Kaufman Group
You might also like:
- Come to beCamp 2008
- Bash parameter expansion cheatsheet
- MySQL Conference and Expo 2008, Day Three
MySQL: Free Software but not Open Source
The title of MySQL’s website states that they are the world’s most popular open-source database. This is false; MySQL is not an open-source database. That assertion is a fact, not an opinion.
MySQL is Free Software, licensed under the GNU GPL. People frequently use the two phrases “Free Software” and “Open Source Software” as synonyms, but there are very large, very important differences.
The difference between Free and Open Source
Open Source is much more of a development methodology than a philosophical standpoint. The first thing on the Open Source Initiative’s website is this introduction:
In contrast, Free Software is not about development practices at all. You can develop Free Software any way you like; what makes it Free is the license. Free Software is about protection of rights and freedoms. It is a moral and ethical platform. The promise of Free Software is quite different from “better quality, higher reliability…” Free Software is not about quality or reliability.
So why is MySQL not Open Source? Simple. Sun/MySQL uses a closed development model. Nobody can get code in from the outside without accepting a Contributor License Agreement (CLA) which requires surrendering important rights, including ownership of the code. Sun/MySQL controls the code absolutely and maintains ownership of it. And even people who have signed the CLA report their patches stagnating — often for years — and still not being accepted into the source. This is not Open Source.
Open Source software is usually maintained, owned, and controlled by a decentralized network of peers. This is exactly the opposite of MySQL. You cannot get more opposite. The differences are often summarized as the cathedral versus the bazaar. I’m not sure this analogy always holds or is always useful and accurate, but it’s a helpful piece of common vocabulary.
Why this matters
This matters because both Freedom and an open development model are necessary to an empowered, enlightened, free society. Licensing isn’t the only thing that matters: ownership matters, too. So does control.
Google’s patches to MySQL are a good example of excellent code with many simple, highly useful features that have not been included into the official MySQL distribution. And there are no signs of that changing, as far as I can see.
I’m not the only one who notices this. Here’s another quote:
If this interests you, perhaps you would like to join the discussion on the oursql-sources Google group.
Technorati Tags:development, Free Software, mysql, Open SourceYou might also like: