Tag Archives: community

Python at CommunityOne

CommunityOne is a free and open developer conference that is run by Sun on the day before JavaOne. This year, there will a space at CommunityOne dedicated to the Python community, complete with whiteboards and wifi. If you are in the Bay Area for JavaOne, or in the Bay Area, or just plain interested in Python, please register for CommunityOne — space is limited.

Registering for CommunityOne gets you a bag of swag, a free lunch the day of CommunityOne, access to all the CommunityOne events and sessions, and a free pass for Day 1 of JavaOne. When you register, put “Python/Jython” in for the referral code.

I will be on a panel on community models during the general session from 9:30AM – 10:45AM, and Frank Wierzbicki and I will be doing a Python/Jython panel. In addition to the usual developer stuff, there will also be a two day Startup Camp, and the folks from RedMonk will be back to do their day long unconference thing.

On Conferences

Bruce Eckel was unhappy about some things that happened at PyCon and wrote about them. A lot of his concerns are relevant to conferences in general, so I decided to break this into another post. The PyCon one was getting long. The crux of his dissatisfaction was that he felt that sponsors had been given too much access to the conference content (keynotes and lightning talks) in exchange for their sponsorship. I agreed with this and I told Bruce that in person. Frank and I were given a sponsored lightning talk slot, which we used to try to explain our new jobs to the Python community. Having been to PyCon previously it was a bit uncomfortable to be there in a “priority scheduled” slot. No sane company would want to make a bad impression on the attendees of a conference, yet in aggregate, this is precisely what happened this year. Having also talked with some of the organizers during sprint week, I am pretty sure that this will never happen again.

Predictably, there has been a lot of commentary, in response to Bruce’s post. Lots of people are upset for various reasons. Attendees are unhappy for one reason or another, and organizers and volunteers feel that they have worked a thankless task only to be kicked in the teeth.

I am both happy, and unhappy. I love PyCon. I love it even more than ApacheCon, because it has managed to retain more of that volunteer spirit. While there was a production company involved, from what I was able to see, the volunteers are still doing most of the work. I think that this is incredibly important, because no production company can know a community as well as a diverse set of volunteers drawn from the community itself. Without that knowledge, it is very hard to do a good conference.

Even with intimate knowledge of a community things are still complicated. The Python community itself is diverse, and growing. That means that the community is going to have different segments in it. I would be willing to be that there were a lot of people who came to PyCon to kick the tires on Python and it’s associated technologies, or to learn something new after maybe a year or so of programming in Python. Those folks have very different needs from people like Bruce or me. Bruce isn’t really interested in an eyes forward conference, and neither am I for the most part (unless Armin Rigo is going to talk about abstract interpretation o r partial evaluation). But many folks coming to a new topic area are looking for stuff more like tutorials, and introductory talks, which tend to be eyes forward stuff.

The key here is for everyone to have enough choices, and to me, that means that a good conference (not just PyCon) will look something like this.

  • The Hallway track – this just happens
  • Open Spaces for long time community members and/or advanced/specialized topics – this needs modest resources but needs promotion so that people understand how important these are and how to use them. O’Reilly has run OSCamp alongside of OSCON for a few years now, but OSCON is always played up as the major thing. But in today’s day and age, I think those roles probably ought to be inverted.
  • Lightning Talks – I am sad to admit that I want to far too many conferences where I ignored the lightning talks – to my detriment. I think that we owe the Perl folks a rich debt for having come up with the idea. Educating people on the value of lightning talks is good. I’d like to see the lightning talks moved to a more prominent spot, say, earlier in the day. I also think it would be worth soliciting a few people to give a lightning talk.
  • Regular Talks – If you are giving a real/regular talk, then I expect a lot. If you start reading to me about your project, I will be unhappy, because I guarantee you that I can learn more about your open source project by reading your project website during your talk than by listening to you. If I can’t, then there are larger problems a foot. You need to really say something really interesting or unusual in order to give a talk.
  • Keynotes – keynotes either need to be expansive, of incredibly broad interest (like python-3000, which Guido himself said was getting boring to talk about, since it’s been the same talk the last 2-3 years), or very entertaining. Best example of very entertaining would be the end of OSCON keynotes by the guys from WETA digital featuring theretofore unseen footage from the Lord of the Rings movies
  • Tutorials – this is basically old hat, but the people that need them, really need them

Also, for PyCon, we need to keep up the tradition of code. I loved walking down those hallways at GWU and seeing people huddled in pairs over a laptop cranking stuff out. It was amazing this week to walk through the entire downstairs area and see all the sprint labels on the doors.

One other note on conferences. Twitter is it. As usual, there were some difficulties with the PyCon WiFi – first time in a hotel that has never hosted geeks before, so it was inevitable. For those of us not smart enough to bring an EVDO card and router, getting connectivity was tough. The reason I missed that the most was the Twitter backchannel. There was an official pycon twitter feed (a bot, I’d guess), but there was also the backchannel of friends. Here are some real life examples of Twitter in action at PyCon.

  • Bruce Eckel decided to host an open space on concurrency, a topic I am really interested in. The only way that I found out about it was that Dianne Marsh, twittered it to the pycon reflector. I managed to get there in time for some interesting discussion, and to see who else was interested in the topic.
  • During the sprints, Donovan Preston was tweeting things like
  • Compiled nginx with mod_wsgi, so far so good, now to test

    which ultimately goaded me into going down the hall to find out what he was up to.

The value in conferences is all being there together. There are plenty of different ways to structure that time together, each able to serve a different kind of audience. Why not have them all and give people a choice?

Opening up to distributed version control

Stefano has written a great introspective post on his inner reactions to a Linus video on Git. It’s good to see people being more open minded about this. I’ve never understood the resistance to distributed version control, especially open source software development is itself an example of the success decentralization. Even the “social” argument that distributed version control would somehow destroy communities seems odd to me. This year at the OSCON Art of Community panel, Karl Fogel said that a tenet of the Subversion team is to avoid using technology to solve social problems. Yet insisting on a centralized version control system seems to me to be doing exactly that. I think its noteworthy that the Subversion team itself has a “hybrid distributed/centralized VC model” as a long term goal.

Centralization in open source projects is a “community smell” (think code smell). It’s best avoided.

Is there a better way than the JCP?

[ via Don Park ]:

Elliotte Rusty Harold is asking if there’s a better way than the JCP:

On reviewing this, I think I’m struck by a fundamental flaw in the JCP for the first time. Sun is still mired in a 20th century, waterfall, big bang approach to development. There are at least three, probably more, different things going on in this process that could certainly be separated and developed independently.

Still I wonder if there’s a better way (and perhaps the open sourcing of the JDK might enable it).

It’s good to see people asking the right questions.

It’s all about the governance

About a month ago, when talking about the prospects for more open RIA technologies, I wrote:

I’d hope that we could do better than both the W3C or the JCP for Flex/Flash or OpenLaszlo.

After yesterday, I think my reasoning ought to be obvious. FAQ link for those new to the issues. Stefano and Ben, as always, find a satisfying way to put it, and Redmonk’s Steven O’Grady has a fair minded analysis.

The details of Java and Apache aside, I would call this whole situation a case study in how not to setup the governance for something open. I have never been a fan of the JCP process because Sun has always had rights that no other participant had. To Sun’s credit, the process has become considerably more open since the JCP was created in 1998. On the other hand, that openness is the result of *years* of hounding by the ASF and other organizations, and now, 9 years later, there are still hiccups. The world is a different place today in 2007 than it was in 1998, and general understanding of openness and community are much greater than when the JCP was founded. I would hope than anyone setting out to build a governance model for some piece of technology would look long and hard at the lessons (good and bad) of the JCP experience.

Open Source does not imply dictatorship

From Dave Winer’s piece on The theory of Twitter

In open source communities they call the imbalance a benevolent dictatorship. Far from being a perfect democracy some people imagine open source to be, actually a project sinks or swims based on how good the central decision-maker is. Again, people complain about the A-list, but that’s okay, work gets done over the objections.

Well, not all open source projects are dictatorships. Apache, Eclipse, and Subversion are examples of prominent open source projects whose governance model is not a dictatorship.

Maybe the blogosphere really is a cesspool … Death threats against Kathy Sierra?!

For several years, I’ve been a fan of Kathy Sierra’s writing and presentations. We’ve met a few times in person, and I consider her a friend. So I was stunned to see in Twitter that she’s receiving death threats. My surprised turned into disgust when I read her account of what is going on.

There is a lot of unkind and hateful speech out there on blogs, and in comment streams. It’s the dark underside of the blogosphere, and nobody wants to address it because bloggers are very protective of their right to say whatever they want. I hope that everyone who leaves a nasty comment on a blog or whose blog “theme” is verbally abusing other people will stop and do a gut check after reading Kathy’s post. You might think that you are just venting. But you might also be throwing fuel on the fire for the kind of people that are now abusing Kathy and her family.

The locker room that is the tech business

Anne Zelenka is a (relatively) new analyst at the Analyst 2.0 company, RedMonk. She’s covering the Rich Internet App and Rich Client platform spaces, which are near and dear to my heart because of Cosmo and Chandler. I’ve followed the RedMonk blogs for some time now, and I got a chance to spend some decent time with Cote late last year at ApacheCon, and we had several good conversations. Since the RedMonk folks are (widely) geographically distributed, they’ve taken to Twitter with a passion, which is the same reason that I’ve taken to Twitter, albeit without quite as much passion. Of course, all the Redmonk folks made my friends list.

So it was that I saw their (along with others) live Twittering of Adobe’s invite only meeting on Flex and Apollo. I’m going to save my commentary on the tech stuff for a separate post. But I was stunned to read Anne’s account of a long Victoria’s Secret demo and a few other maddening comments (which I can’t quote, because Twitter’s history is currently broken). I can relate to being stuck in an environment where people are being offensive and don’t even know it (I am sure that no one at Adobe intended to be offensive). My brother and I were the only 2 Chinese kids in our school for a number of years, so I have some idea of what it’s like to be in Anne’s situation. It’s as if you don’t exist, and people do things that offend and then genuinely have no idea why a particular action might have given offense. I’m fairly sure that’s what happened at the Adobe shindig. Still, not good.

Even worse is the general locker room atmosphere in the technology business. I didn’t care for locker rooms when I was in school, and I don’t like them any better now. I have 3 daughters. My older two can already write simple Squeak programs (sorry, they’ve forgotten their Python). If they wanted to go into technology there are lots of statements that I’ve heard that I would never want said about one of my girls, or about any other woman. Forget the arguments about leaving out half the workforce and all of that. When you make that argument, you just objectify someone in a different way, either because they have money or because of “valuable” skills. Some of what I’ve seen and heard — it’s just not right. These are people we are talking about here, and it’s just not right to treat another human being that way.

SFlickr 20070111

My trip to OSAF last week was “bingo” kind of week. Not only did the week overlap with Macworld, but it also overlapped with the San Francisco Flickr (SFlickr) meeting. Of all the Web 2.0/social networking sites, Flickr seems to have done the best job of actually extending the network into the real world. There are a bunch of these local gatherings all around the country. We have one in Seattle, which I’ve gotten to once and almost gotten to a bunch of times.

This was the second time that I’ve made it to the SFlickr meetup, and I got to see/participate in the community a bit more this time. During the scheduled meeting there was the usual mad meta photographing, as well as discussion of people’s work, and equipment. Many of the people that I met last May were not around, but I did add a bunch of new people to my contacts list, and I found it just as easy to meet people as I did last time.

I was particularly interested in the ST-E2’s that Maximum Mitch and John Curley were using. I’ve been considering getting one of these to trigger my 580EX remotely. I’ve got my Strobist SB-24 and sync cord, but something is broken with that setup at the moment, and I need to sort that all out. But the corded setup is unwieldy for some of the situtations that I’d like to be in. After watching Mitch goofing around with it during the meeting, I am pretty sure that I am going to get one of these.

After the meeting ended, a group of us went to Skylark to hang out and keep on talking. Oh, and to shoot. The patrons at Skylark must have thought that they were the subject of some kind of magazine shoot. Flashes were going off all over, and a number of us were asked what magazine all of this was going to be in. There was also a scary kind of moment when an unhappy patron warned us not to take his picture, but the owner of the bar and the bouncers seemed to be totally into our presence, so we didn’t end up in any trouble. Mitch let me borrow his ST-E2 so that I could see for myself how it worked — which is to say very well. I didn’t have any flash failures except for the times when I covered the sensor on the 580 with my hand, and I forgot that the ST-E2 acts as an autofocus assist even if you don’t have a flash. John was using his mostly for this purpose and got some beautiful low light shots.

To top it all off, after we left Skylark and were heading back to the car, we encountered a band that was walking the street, on their way somewhere. We convinced them to stop and do some posing for us. Beware the SF Flickrazzi! Special thanks thanks to ms_trouble, tshane, maidelba (for the ST-E2 time), picsfromj (for the ride to Skylark) and jay_que (John Curley) (for making sure I got home)

My set from the night is here.

Size isn’t everything

Stephen O’Grady del.icio.us’ed the inaugural post of the new blog, and his comment was “biggest community wins”. It’s true that the size of a community matters, but it’s not as simple as absolute size. Communities need to reach a point where they become resilient and self sustaining.

That means you need people, and you need enough of them so that there can be an reasonable distribution of work – if one or two people are doing all the work and there are lots of bug/feature requests, then that’s not a reasonable distribution of work. I’ve heard this called ‘scalable’ but it’s not necessarily the case the communities need to scale to accommodate lots and lots of users, but it does need to support its user base well, and the key to that is to share the work.

Another way of measuring the reasonable sharing of work is to look at the “hit by a bus” number – the number of people that would need to be hit by a bus/truck/etc in order to make a substantial impact on the sustainability of the community. If this number is “1” or if there are multiple “1”‘s, then that would be another indicator that the community hasn’t become self-sustaining.

Communities (like marriages, I suppose) that can’t fight well, can’t stay together. So another indicator of a healthy community is the ability to have and resolve conflicts. This is especially important, but often left un-stated as an important quality. It is important for communities to have diversity of opinion and approach, and if they do, conflicts will inevitably follow.

Also related to conflict resolution is the ability of a community do deal with difficult people – Ben and Fitz have a great talk on this [PDF], and it also contains some good content on what makes a healthy community.

So these are just a few of the other factors that influence the quality of a development community.