Older blog entries for dmarti (starting at number 74)

Corporate open source advice

Some surprising moves, such as the much-maligned mission statement, can help corporate open source projects work, said Ben Collins-Sussman and Brian Fitzpatrick at the Google Speaker Series.

The two Google developers put corporate participation in open source into four levels ranging from fake "open source" all the way up to giving a project the autonomy to make its own major decisions.

Faking it, or "level 0" participation, is doing PR blitz around open source but not actually using an open source license. "There isn't a lot of point to doing this unless you want to destroy trust," Fitzgerald says.

(Two related approaches that didn't come up were the weasel words "to the open source community" which a lot of vendors use in PR about proprietary products that interoperate with open source, and the YAFL approach, of using a license that's License Proliferation Initiative-approved but not compatible with the main licenses in your chosen field.)

Moving on to real open source, level one is to "throw code over the wall." Fitzgerald describes this as, "Clean up the code, get it approved by legal, release it. It's pretty effortless." The drawback is, he says, "you don't have any commuity to keep your software alive, and if it does form it's going to form far away from you." A company choosing this approach will lose control of the future direction of the software. One exception is media codecs, Fitzgerald says.

Level two is "develop internally, post externally" Collins-Sussman likened this to "throw over the wall," but on a daily basis. Discussions happen internally, and outside contributors can only see the actual source code and maybe some commit messages from the revision control system. "If you don't let everybody take turns driving the bus, you're going to get drive by patches," Collins-Sussman says.

Fitzgerald says you'll get "followers" who might do a quick fix, but it's difficult for outsiders to see where the code is going next, so you're unlikely to get major work.

Level three is "open monarchy," which is like level two except that discussion takes place in public. Contributors are still mostly employees, and a project lead inside the company makes decisions.

"You will attract better quality volunteers. They have a better idea of where your roadmap is," Fitzgerald says. But this level of participation is most at risk of what Collins-Sussman calls "angry revolutions," in which a group of outside developers creates a fork.

The final level is "Consensus-based development," which makes almost all project information public, and, as Collins-Sussman puts it, "the people who are members of the project are the ones who make the decisons. People are wearing two hats." Even an employee assigned to work on the project will have to prove himself or herself to the rest of the developers. He described the case of a CollabNet employee assigned to work on Subversion. Instead of just following instructions and checking in code, the employee had to "earn access" from other developers on the project, including non-employees.

Fitzgerald warns, "You're not going to get a big boost from this right away," and points out that employee contributors need political, not just technical skills. "You need to hire strong leaders. You can't just throw people at the problem."

Although bringing outsiders into the project does mean a lot of work, Collins-Sussman says there are three advantages. First, it creates a hiring track for finding outside developers who know the project's goals and code, and have already shown that they can work with the team. "When people get full ownership of the project, they drive the bus. Then the company says we want you to do this full time, instead of just on weekends," he says.

Second, there's an information-gathering role for outside contributors. Steering the project "The closer you can bring the consumers of your code to the people writing your code, the more you can get more productive engineers and better software," Collins-Sussman says. This seems like a waste of time at first, Fitzgerald says. "If they're writing the wrong code it doesn't matter how much code they're writing," Fitzgerald says.

The third advantage is project longevity. "Participants will come and go but the process will last a really long time," Collins-Sussman says. "The Apache web server project has been going on for 12 years and peole have come and gone," he says.

The consensus approach requires seeding the project with code, culture, and staff. "Start out with a small group of humble people who work well with others. It becomes a self-selecting group," Collins-Sussman says.

"The world is full of jerks, except the Internet makes it seem like they all live right next door to you," Fitzgerald says.

Surprisingly, a mission statement is a big help, Fitzgerald says, especially one that sets "non-goals." Put the mission statement on a web page, and point would-be contributors to it if they suggest something outside the project's scope. Fitzgerald recommends the book Producing Open Source Software by Karl Fogel.

Although project culture needs to be respectful and polite to attract productive contributors, many in-house developers will need cultural training to get used to honest code reviews. "In the corporate world, in many companies this is not normal. People own certain areas of code, and if you comment on what they're doing it's taken as a personal offense," Collins-Sussman says. Teach developers that "You are not your code."

Fitzgerald says newly open sourced projects need to make an effort to stop using internal mailing lists. And, Collins-Sussman says, the archives of an external mailing list help attract new contributors. At CollabNet, the CTO made employees take some discussions public, and, Collins-Sussman says, "a few months later some of the best developers showed up." Start with one list per project, and split into developers and users list only when there's too much traffic to handle.

One key problem is interfacing a consensus community to the market demand for a feature. What happens when a sales person comes in and says, "I can close this multi million deal if I can get this feature?"

Fitzgerald says that the company needs to see if a customer feature is one that the community will tolerate. If it's something that's completely out of scope for the project, it won't work. Collins-Sussman gave the example of locking for Subversion, which a CollabNet customer asked for, but no community member was interested in. Because CollabNet could safely add the feature, an employee did it and got it in.

Syndicated 2007-10-26 19:14:41 from dmarti's blog

MLP: cache control, mobile devices, HTTP headers

Bad CMS, bad, bad! Does your web app set "Cache-Control: no-cache"? Useful explanation, plus a Firefox workaround, from Akkana Peck. (You can also check the HTTP headers in a page using the Web Developer extension.)

Nifty snap-together mobile devices: Bug Labs podcast. (My idea for a cool thing to build with this: a "people who like this book also like" box for real-world bookstores. Scan the bar code of a book you like, and it gives you a suggestion of another book in the store.)

Joey Hess has some suggestions for offline Wiki work using git.

Let me sleep, please.

Facebook is now worth about four Red Hats? Bubble time—pass the seared ahi.

Matthew Aslett summarizes the latest on the Sun/NetApp beef. NetApp's decision to start this whole mess is a complete mystery to me, since it's completely irrevelant to what people buy NetApp for. NetApp is what your boss makes you buy, or approves your request to buy, when you have finally wasted too much time dorking around with the Solaris, Linux, or Microsoft Windows file server. They're like the FedEx of storage. You go with NetApp not because of their patent portfolio but because they get everything working right together, which for a company is much harder than just having a good filesystem. Sun could copy every line of NetApp code tomorrow, and so what? That wouldn't make a random Solaris box into drop-in storage that you don't have to worry about. It would be like Joe's Delivery Service photocopying the FedEx airbill.

Syndicated 2007-10-26 17:42:07 from dmarti's blog

QoTD: Nat Torkington

"Google can create the riches-of-niches world by promoting and implementing Fitzpatrick and Recordon's ideas, and thus set fire to the big pile of money that Microsoft and others just put on the table." -- Nat Torkington

Syndicated 2007-10-25 22:49:29 from dmarti's blog

QoTD: Joel Achenbach

"Newspaper journalism is different these days: Suddenly everyone is obsessed with eyeballs, page views, 'stickiness,' 'click-through rates,' and so on. No one shouts 'Stop the presses!' anymore, but they do whimper 'Why aren't I on the home page?' -- Joel Achenbach

(cited by Hal Crowther, via Doc Searls)

Syndicated 2007-10-22 17:06:49 from dmarti's blog

Friday afternoon reading and listening

Rebecca MacKinnon asks, "What did Yahoo! know and when did they know it?"

Brian Aker recommends High Performance Web Sites: Essential Knowledge for Frontend Engineers.

Joel Spolsky: "Sandboxes are penalty boxes; they're slow and they suck, which is why Java Applets are dead, dead, dead." -- Strategy Letter VI. (Google might be a step ahead of this one, though, with Google Web Toolkit. We'll see.)

Val Henson talks about the Linux filesystem of the future.

Andrew Cowie on online voice community: "I have long observed that people in the Open Source movement spend far too much time conversing with each other by IRC, instant messenger, or on widely subscribed email lists when they could just pick up the phone and actually talk to each other."

Syndicated 2007-10-19 20:00:30 from dmarti's blog

Conspiracy, or just job hunting?

Steven J. Vaughan-Nichols brings up the Microsoft-Acacia conspiracy theory.

"Acacia now has two new corporate officers. There's Jonathan Taub, Microsoft's director of strategic alliances for the mobile and embedded devices, who's now an Acacia vice president. And, just days before IP Innovation launched its suit against Red Hat and Novell, Acacia hired Brad Brunell, a top Microsoft executive who was formerly Microsoft's general manager of IP licensing, as a senior vice president."

Sure, this could be the mysterious anti-Linux cartel pulling strings behind the scenes, but there's a simpler explanation: Taub and Brunell wanted to create higher-profile roles for themselves at Microsoft, by getting the company into the patent troll business. Unfortunately for them, sensible execs higher up at Microsoft decided that they didn't want to take the recruiting and employee retention hit that comes with a reputation for patent trolling. So Taub and Brunell quit to find positions where their talents would be appreciated, at a dedicated patent troll firm.

That makes more sense to me. Patent trolling isn't really compatible with being in the software business long-term, and Microsoft is one of the few companies in IT that acts like it thinks further out than next quarter.

Syndicated 2007-10-19 14:32:01 from dmarti's blog

The story so far on getting users first, customers later

Just a recap of the conversation about how open source is changing the way people sell software, not just how people make it.

15 Jun 2004, Matt Asay on the real promise of open source: "What we thought was a software development methodology has perhaps even more importance as a business strategy that leverages its minimal sales, marketing, and distribution costs."

1 Jun 2005, Ray Lane on proprietary software profits: "The top 15 software companies are 84% of the revenues in the industry. The top three generate 75% of the profit, and the top one generates 57% of the profit. [Underneath that] it's becoming a wasteland."

11 Nov 2005, Larry Augustin writes, "The problem is that the traditional enterprise software business model is broken."

2 March 2007, Matt Asay on the how Alfresco closed one deal: "In the space of a few hours, I watched us beat out a field of 10+ ECM competitors (all the big names) to be selected by a Fortune 500 company as the centerpiece for its going-forward ECM strategy. What won it for us? Great technology and unparalleled access to our product."

16 August 2007, Matt Asay explains the new software sales cycle (Slashdot thread)

16 October 2007, Gary Little on what enterprise software can learn from community sites: "We found that that traditional model of enterprise software was becoming a challenge to invest behind because of that up-front cost in sales and marketing."

Project VRM defines "VRM" as "the reciprocal of CRM or Customer Relationship Management. It provides customers with tools for engaging with vendors in ways that work for both parties." Because the new software sales cycle depends on putting more of the software selection and evaluation work onto the customer, it depends on available information outside the vendor organization, either at the customer or out in the open.

The new software sales cycle, which is about selling to users, isn't just about hippy-dippy sharing woo-woo. It's like the transition from the store with everything behind the counter to the supermarket where the customer pushes the cart. Save money by putting more and more of the merchandise handling on the person who will be responsible for using it.

Selling to users leaves two essential roles for the IT Media business: first, the pure signaling value of expensive-to-produce content that a vendor can put an ad on, to say, "If the product turns out to be bad, I wasted this ad money." Second, the new breed of software company is not set up to deal with non-user leads, and the readers need to become users before they can become buyers. That means way more technical detail. You want someone to put the magazine down and say, "I'm going to put in a dedicated spamd box running Debian," not "Gosh darn it, we need to do something about all this Internet spam."

Syndicated 2007-10-17 22:21:37 from dmarti's blog

How to risk-shift the desktop productivity suck

The Bring Your Own Laptop movement makes Nick Carr's blog.

BYOL is the IT side of The Great Risk Shift. Just as companies have moved employees from "defined benefit" pension plans to "defined contribution" plans, it makes sense to offload the risks of desktop PCs from the company to the user. Today's desktops are the worst of both worlds: they're as flaky as an innovative product, with all the differentiating value of a commodity product. It's a no-brainer for the CIO to disconnect his or her performance from the Great Desktop Productivity Suck. And no, the problems of desktop machines aren't vendor-specific.

Instead of making a capital investment in no-value-add PCs and the payroll expense for a desktop support desk, the IT organization is starting to consolidate behind the defensible wall of the server room, just as Maréchal Vauban advised King Louis XIII of France to abandon indefensible territory and concentrate on the fortresses that could give each other defensive support.

When a company provides web-based access to a corporate application or remote desktop access to a preconfigured desktop image, all the unpredictable support burden of real hardware: the driver conflicts, "DLL Hell", and updates for system software, falls on the user and his or her spouse, not on the company.

The IT department no longer has a monopoly over delivering information services to the employees. Instead of petitioning the IT organization for something, the marketing department can go use SurveyMonkey, the development organization can get a hosted GForge instance, and everybody can use PBwiki. In-house IT is in the same position "selling" to employee users as the local Radio Shack store is with electronics shoppers. In that kind of competitive situation, a company—and an IT department has to manage itself like a company—can't afford to sink time into a cost center like cleaning up the desktop mess.

Prof. Carr usually concentrates on the advantages of cleaning up the server room and outsourcing more of the back end, but the client is where the biggest potential gains are.

Of course, old-school petty dictator IT types will squawk about needing to control the client, but come on, dude, face reality: the client is no man's land. You, the user, Microsoft, and the Storm worm are fighting for control, and some days you're winning. Best case is your finger stays in the dike for another day. Your impact on the top line: zero. Go home and read the want ads—maybe there's a high school somewhere that needs a vice principal.

Syndicated 2007-10-16 19:04:57 from dmarti's blog

Online communities, offline?

Just thinking some more about what Danny O'Brien is on about with "moving to the edge."

Strangely enough, I have a bunch of notes about tools for going offline that I've been dumping stuff into since last SCALE, which I still want to turn into a talk for . So I think Danny is on to something here.

How does working offline, and moving data to the edge, apply to the idea of an "online community"?

What if the idea of membership was not defined by whether a server somewhere has your email address and password on it, but by whether the other members of the group know to pull from you, using a distributed revision control system?

To join a group, you would get the URL for someone else's repository, clone it, edit, add a user page that contains a URL for your own repository, and ask someone to pull. Groups that wanted to automate joining could run "pull bots", and groups that didn't could require out-of-group introductions, or require one user to "sponsor" another by linking to the new user's repository URL from his or her user page.

Then, to participate in conversations, first pull from the other members of the group and merge. At the simplest, use Ikiwiki to build an RSS view of the latest messages. Or use software that gives you a newsreader-like interface. Write your own messages, commit, and push where you're allowed to or wait for others to pull. Repository URLs could be stored inside the community archives, as sponsorship links or bot-maintained pages. Some could be .onion URLs to let users participate pesudonymously and free them from having to get conventional hosting.

From a software project point of view, this sounds complex, but users and their client software can be polite enough to create uniquely-named files for conversational messages, the way Maildir applications do. Users might change their user pages frequently, but only one user would do that per page. "Merging" would be simple. Yes, users would edit the FAQ and other actions that require a real merge, but if the group is laid out right that should be doable.

I'll leave you with a QoTD.

"You can't be on the net and _not_ be on the net," Chia said, as they shot up a final flight of stairs.

"Distributed processing," he said. "Interstitial. It began with a shared killfile--"

-- William Gibson, _Idoru_, 1996. p. 209

Syndicated 2007-10-11 15:00:07 from dmarti's blog

More Linux ratings...

If you liked Top 40 Linux Blogs you'll love Val Henson's Stupid Linux Rater. (I rank above Val Henson but below Jonathan Corbet.)

The OLPC project gives kids an intro to Journalism. That's a great idea for a use for the laptops, really. There's a camera good enough for a head shot of someone you're interviewing, good wireless networking, and plenty of battery life. What more do you need?

Cool multi-machine adminstration tip at Debian Adminstration: run the same command on several hosts with clusterssh. (Also see dsh for doing everything all in one window if you prefer that.)

What US accent do you have? (It got me right, at "Inland North". I'm from northern Indiana originally.) Via Doc Searls.

Upcoming talk on "What's In It for Me?: How Your Company Can Benefit from Open Sourcing Code" from Ben Collins-Sussman and Brian "Fitz" Fitzpatrick, at the Google Speaker Series, October 25. And speaking of Google, hey, kids, new Cory Doctorow story.

Syndicated 2007-10-09 14:13:04 from dmarti's blog

65 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!