MySQL, Open Source, and Trust

When Jonathan Cheyer wasn’t working with me and Brad Neuberg on HyperScope, he was scrapping away at his day job as Solid Information Technology‘s Open Source community manager. Despite having to deflect my endless teasing about revoking his hacker membership card for becoming a “marketing guy,” he’s been an excellent source of stories and insights about the nature of Open Source communities and collaboration. (I’m less concerned about his hacker cred than I am about him being a die-hard Celtics fan. Sad, very sad.)    (MII)

Jonathan recently blogged about some controversy surrounding MySQL AB‘s decision not to distribute source tarballs of its Enterprise Edition. Why is this seemingly minor move such a big deal? He explains:    (MIJ)

It’s about the importance of being earnest in what you do. Being an open source company is about a lot more than just slapping a GPL license on your software and handing it out. It’s about building a relationship with the community that is using, playing, testing, and improving your software. As anyone who is married knows well, this can only be done through ongoing, continual trust and transparency between the two parties. Trust is built by being dependable, and by telling the other person things that sound honest and real. Trust is improved by transparency, which is opening yourself to the other person. Adding an artificial means of inconvenience to the community in obtaining bits does nothing to help customers and only reduces transparency as seen by the community.    (MIK)

I’m amazed at how often good companies with a strong understanding of Open Source forget this. I think it’s indicative of the ongoing tensions that businesses must balance, and it speaks even more favorably of companies that manage to consistently uphold their Open Source values even in the face of these difficult tensions.    (MIL)

I don’t have any first-hand insights into MySQL as an Open Source project. I do know that it’s been a model in the community for doing commercial Open Source for a long time, and I know a bunch of great folks who are involved in that community, Jonathan included. Jonathan sums it up best when he writes:    (MIM)

MySQL AB has been working with the open source community for a long time and a lot of good things have been accomplished as a result of that. There is much to applaud. Along the way, there have been occasional mistakes, and this is one of those times. MySQL risks alienating a community that has been very supportive of them by a misguided move in in their quest to “get more customers”. Make money, make as much as you can, but while you do, don’t forget the lesson of being earnest in your endeavors and staying true to your community.    (MIN)

purple-include: Granular Transclusions for the Common Man

Many thanks to Jonathan Cheyer, Craig Latta, and Kaliya Hamlin for coming to the HyperScope sprint this past weekend, and special thanks to Christina Engelbart for hosting. Also thanks to Thom Cherryhomes and others who hung out with us on IRC. The notes from the day are up on the Wiki, and I put up some pictures as well.    (MEL)

https://i2.wp.com/farm2.static.flickr.com/1134/681861752_857ef74d28_m.jpg?w=700    (MEM)

The big news, though, is that Brad, Jonathan, and I wrote a cool hack called purple-include, based on Mark Nottingham‘s most excellent hinclude. It lets you transclude granular chunks of content from any web site by using an img-like tag. Check out the examples. I think this will go a long way in making Transclusions more common on the Web.    (MEN)

You address granular content either by using a fragment identifier that the document author provides (such as a Purple Number) or by using an XPath expression. Thanks to Tony Chang for his cool interactive XPath tester.    (MEO)

The planned next step is to create a Firefox plugin that adds a “Transclude” option when you right click inside of a browser text widget. This will allow you to transclude copied content, rather than paste it. Don’t know whether any of us will get to this soon, so we encourage the lazy web and all you Firefox hackers to beat us to the punch.    (MEP)

This was my first non-trivial foray into JavaScript, and I was disturbed by what I saw. The language itself is not horrible, although its object system makes Perl 5 look like Smalltalk. What’s shameful is its API support. We had to use a very ugly, although apparently common hack to get a DOM of external web pages. This is pure silliness. The browser is already doing the hard work of parsing broken HTML and XML and turning it into a DOM. Why not easily expose that functionality to the developer?    (MEQ)

As Brad dryly noted, “Welcome to my world.”    (MER)

HyperScope Sprint, June 30 in Sebastopol

Last month, we held a HyperScope sprint at Jonathan Cheyer‘s house in San Jose.    (MCC)

https://i1.wp.com/farm1.static.flickr.com/221/497382906_fa363d9798_m.jpg?w=700    (MCD)

It was so productive and fun, we’ve planned another one at the end of this month, Saturday, June 30, from 10am until we drop. This time, we’ll be meeting at Christina Engelbart‘s house in beautiful Sebastopol.    (MCE)

Please join us! This will be an excellent opportunity to learn more about the HyperScope and to hang out with some very interesting and cool people. RSVP at Upcoming or contact me if you’d like to attend, and I’ll forward more details.    (MCF)

HyperScope Sprint this Saturday in San Jose

Brad Neuberg, Jonathan Cheyer, and I will be meeting at Jonathan’s place in San Jose this coming Saturday, May 12, at 10am for an ad hoc HyperScope sprint. Please join us! This will be an outstanding opportunity to meet the team, learn about HyperScope, and help us move the project forward. If you’d like to participate either face-to-face or remotely, please drop me a line or RSVP on Upcoming.org. Hope to see you there!    (M8T)

Spreadsheets 2.0 and Transclusions

A few weeks ago, I had dinner with my old HyperScope buddies, Brad Neuberg and Jonathan Cheyer. We talked a bit about this Office 2.0 madness, and how a lot of these Web-based applications were disappointly uninteresting. Don’t get me wrong. There’s a lot of really nifty hacking going on behind the scenes to make this all work. But in the end, all you have is a Web-based office application. Most of these applications do little to take advantage of the network paradigm.    (M2P)

A simple and extremely cool way for Web-based spreadsheets to exploit the medium would be to support Transclusions across multiple web sites. As I’ve observed before, spreadsheets were the first applications to popularize the notion of a Transclusion, even though they didn’t call them that. When I type =E27 in a cell, it displays the content of cell E27. This, in a nutshell, is a Transclusion, and oh, is it useful.    (M2Q)

With Web-based spreadsheets, if you made cell addresses universally resolvable, you could easily support Transclusions across web sites. In other words, I could transclude the content of cell =E27 from a spreadsheet hosted on my web site into a cell on a spreadsheet hosted on another web site.    (M2R)

Why would this be useful? Well, why is it useful to link to other web sites? Today’s Web-based spreadsheets are no more collaborative than desktop spreadsheets. In theory, they’re more convenient than emailing spreadsheets back-and-forth, but they’re no different in capability. Cross-spreadsheet Transclusions would break down silos and encourage collaboration.    (M2S)

I would start with spreadsheet-to-spreadsheet Transclusions with an eye toward supporting Transclusion of non-spreadsheet content using Purple Numbers or something similar. The main technical barrier is coming up with the right addressability scheme. Seems to me that the Simplest Thing That Works would be to use fragment identifiers (which is what we did for the HyperScope). In other words, cell =E27 on a spreadsheet at http://foo/bar would have the address:    (M2T)

  http://foo/bar#E27    (M2U)

Eventually, you’d want persistent, non-URL-based identifiers, but first things first.    (M2V)