Thursday, April 05, 2012

I'm back, babeh!

No better way to say it than in the words of Bender.

I haven't blogged here in years, I had a couple of blogs based on Plone, and if you read the history here you may be able to infer why those aren't around anymore.

I'm in a very different place, and have very different things to say, but I decided that I should somehow connect my new writings to my past self.

Friday, February 16, 2007

Plone Foundation

I don't like the Plone Foundation.

The problem is, it's difficult to express this sort of thing without people assuming this is some blind disillusionary frustration, and it's not. I've been involved in the Plone Community for over four years now and I've found it to be far too much of an "in" world. Cries for help and contributions from the community at large turn into immature self-fulfilling prophecies which, in a severe failure of leadership, blame would-be contributors for not being experts.

So, if you've got an idea about Plone, something your customers sorely need, the message I hear from Plone Foundation is typically: "Wait a few months, or years, we know what we're doing and we don't need your help."

Are you guys fucking serious? C'mon.

With recent officialities surrounding the creation of a formal business structure with some associates, and concerns such as the purchase of USD$1M or greater of General Liability, I wonder how likely a situation where the Plone Foundation says: "Just Trust Us", may I be of liability.

The truth is, I'd prefer not to join the Plone Foundation, because I can be a great QA user of its' services. I'm glad to share my ideas, but I feel that it is poignant that a new developer in the community should be able to get by without becoming a member of the PF board.

There's just no feedback process. I have heard for years that "The Foundation" is "Protecting Plone", but how? What the hell do you guys do other than tell me, continually, that my clients and my interests are not worthy of Plone? Howabout broken promises?

I find myself wondering if the Plone Foundation can be actionable if statements it has made about the future of Plone become part of an insured contract which experiences a failure. If not, then what value is it? I, as an independent consultant, need to provide a $1M guarantee to some clients, and what is the PF doing to keep my general liability rate down?

That said, I like a lot of people involved in PF, as I happen to like most of the people in the Plone Community at large. This is also a difficult issue to approach because I'm not ever entirely sure who all is involved, and so my frustrations and concerns may be misdirected. Are there forces within the PF who align with my interests, but simply aren't given much more than lip service by other members of the Board? I don't know.

Is there a poignant reason we don't see meeting minutes online? Does the Foundation have funds to hire someone to fix the broken membership tool? I understand we are a non-profit, but 80% of my business is from a non-profit who seems to take matters much more seriously than PF as a whole.

That and, of course, I hate the freaking contributor agreement and feel that FSF and related contributors to the founding of PF have caved a great deal. The structure of PF is not consistent with the understanding of Free Software I've built over the past ten-plus years.

For one, PF has the ability to relicense Plone, Archetypes, et. al. under a BSD-style license, which would most certainly un-free it. If Plone is "Open-Source" and not "Free", then why seek the help of Free Software advocates, when there are perfectly good Open-Source advocates? If we are licensed under GPL now, why create an organization to "Protect" something in such a way that its' authors' intent in licensing is not respected.'

It is widely held, for instance, that the source code to the Linux kernel is protected from license changes due to its' community copyright holdings. If anything ever approached impossibility, it would be proving legally that you had the permission of all of the contributors to such a work, even if you did.

So, there's my $0.02. I enjoy working with Plone, but I fear that the community is worse off with the current PF structure than with an ad-hoc melee of copyright ownership. I've yet to hear a good reason why this is the case other than that other folks "know better" and that I should "shut the hell up". Naturally, I don't respond very well to this sort of logic.

Sunday, December 17, 2006

Edgy MacBook Pro

Where the fuck is Quicksilver in Ubuntu?!$%

Sunday, December 10, 2006

Cocoa, GNUStep, Free Desktops

Word..

So I think I have gone on about how I think it would be cool for people to actually use GNUStep to design apps like GIMP, FireFox, Gaim, etc.. For those who don't know, GNUStep is an open-source implementation of the CoreFoundation and other apis which started out as NeXTStep / OpenStep and became Cocoa in MacOSX. Cocoa, GNUStep, and OpenStep / NeXTStep all use Objective-C, a thin OO dialect of C which, as far as I can tell, is more like Python, Java, or C# than C++.

Although a lot of the graphics-y stuff in OSX is Adobe-derived and private, they actually support an open CoreFoundation implementation, and GNUStep supports enough of the APIs, so they say, that you can target an application at GNUStep and have a Mac feeling app on the Mac, while you end up with options for giving your app a native look-and-feel on other platforms as well.

Basically, Cocoa is an enhanced OpenStep implementation which draws windows using Quartz, which I believe is a programmatic derivative of PostScript, Display PS having been written at NeXT, and now available in X11 and possibly Vista or some future Windows.

So, although a bunch of code running on my Mac is not open, the entire system is built in a modular way for which a compatible alternative could be built, and to some extents has.

Anyway, after beating the dead horse of translucency, I found something today which I'm pretty sure the "eye-candy" crowd will regard as flamebait, heh. It's called afloat, and it inserts an option into the "Window" menu of every Cocoa app to control its' opacity, often inversely and incorrectly referred to as "Transparency".

It's also got a nifty feature where I can hold ctrl+apple and scroll the mouse to change the opacity of a Window.

I find this useful for the same reason as a transparent terminal - so that I can read another window while typing, without shrinking my window, and so that I have more periphery I have set my browser as "translucid", which, to me is not very intrusive - I can sort of read the text in the background if I try, but I don't have trouble reading the foreground. If something blinks, or closes abruptly, however, I'll see, and I can follow a line of text beyond the overlap of two windows without a focus change.

I think it's neat, but what, IMO, is even cooler and being largely ignored is the potential for providing universal application plugins that are cross-platform by leveraging this technology Did anyone ever use the plug-in for Evolution, the GNOME Mail client, which made the editing area comply with vim commands? I thought it was awesome, but it only worked with Evolution.

I want a vim-compatible GUI text area that is compatible with GMail, Thunderbird/Evolution, Abiword, OpenOffice, etc.. Same goes for afloat, if I had blackbox, gnome-panel, and afloat, I might survive with ubuntu on my Macbook Pro.

I like, for instance, that Adium, a libgaim-based im client, has options for a translucent buddy list, but with afloat it's pointless to put work into that in a single app.

So, FWIW, when I'm saying that Qt, Gtk+, EWT or what-have-you stinks, this is what I mean. I'm not saying that your favorite toolkit is not a pretty decent way of writing traditional applications, possibly on par with a few years back of commercial technology. What I'm saying is that by adopting something like GNUStep, which can be leveraged from any programming language, Mono, Java, etc.. it should be possible to stop thinking about the platform. Much as, to some people, Windows is a fine place to use FireFox, I'm fine with it being that way for all sorts of apps.

This type of extension framework is an easy way for F/OSS to bleed into commercial apps. When you have a $500 commercial app and most of your time is spent using F/OSS add-ons, MS Excel or whatever starts becoming about as commodity as MS SQL or IIS.

Wednesday, November 22, 2006

Why Google's approach to IP is unhealthy

OR

Who's afraid of the Affero GPL?

Howdy.

I was fortunate enough to catch a moving keynote by Eben Moglen, Head Counsel for the Free Software Foundation, at the Plone Conference in Seattle recently. Along with many great ideas on how Free Software answers economic questions of olde and is shaping a Brave New World for the 21st Century, Eben touched on a very sensitive point for me.

I'm going to take this opportunity to say that I am super unhappy with the approach to IP which has become common at dotcoms and to a great extent at Google, behind the dressed-up face of Google Code is the lore of Google's big secrets on how to solve, basically, every problem that anyone in the world has with large-scale computing for any purpose, and espescially for large internet sites.

So, just down the hall from your nearest "Don't be evil" sign, just past the Summer of Code sign-up sheet, someone has an employee manual which probably stipulates that it must be explicitly understood that Google's competetive advantage is in their superior ability to build distributed computing systems which are designed to allow many machines to fail without waking anyone up.

In the name of every pager-carrying sysadmin in the world, a public cry:

Please Share More.

Please. ;*-(

Seriously, have you guys *ever* modified some GPL code to make it crash less for Google.com? Please share, and share more of this infrastructure, and advertise that you are using world-class Open-Source software. AT&T, who just bought out SBC, one of the ma' bell subsidiaries, is not hurting in the long-run after giving away SysV. Software is not a competetive advantage, the genius army you have used Sequoia's money to hire is your competetive advantage. The software, on the servers, in its' running form is an asset, and maybe your ideas on search engine technology should be secrets, assets, but please, the distributed filesystem?

Rumour is that, when I telnet to port 80 on google.com, a modified version of Apache answers, or a web server which sits in front of Apache and other web and application servers answers. Under Affero GPL, it would probably be a violation to remove the Apache banner, and it would certainly be necessary for code.google.com to contain all patches that Google is using on systems which are publicly accessible, and even on proprietary systems for all users, paying or non.

I highly suspect that some of this secrecy is in the name of security - if I don't know Google.com is running Apache 2.0.38 or somesuch, and an Apache vulnerability is announced which affects this version, the likelihood of it affecting Google.com is, to some extent, reduced by hiding what is running, although I bet nmap could guess based on its' behaviour. ;)

In any case, Bruce Schneier, or any other decent Security Guru, and an average of 38% of American High School Seniors today, according to "New Scientist"[0], will tell you that Security by Obscurity is not a winning approach, and every now and again one of those high school kids decides to prove to the world that he is god and shut a bank or two down. ;)

So, who's afraid of the Affero GPL? I'd muse that probably most developers who use Free and Open-Source Software to provide a proprietary service to the public. Hey, there's nothing to be afraid of. Has anyone used the LiveJournal code to put them out of business? Nope, far more people have simple stolen their ideas, sans perl.


I'd also estimate that investors are shaky, and that this is why the developers are not highly promoting this idea. Here's a hint for when you talk to your boss about this: if your competitors use your software, and modify it, they also have to give it back. I'm pretty sure this would bring the sort of balance to network-based software offerings that today's GPL has brought to locally hosted applications - be they running on your own server, a leased server, or a desktop / workstation / notebook.

GoogleFS is no different from SGI XFS, IBM AFS, or any other technology which was designed to give one commercial entity's customers a competetive advantage over other companies by

[0] I'm joking about New Scientist, but not about the High School Seniors.

Wednesday, November 15, 2006

Plone for ACM.org

So, I noticed today this article on Planet Plone. Indeed, as I understand it, we are planning to launch Plone for the ACM and, progressively, all of acm.org's counterparts and the sites of any sub-organizations such as SIGGRAPH, SIGCHI, and conceivably SIGWEB as interested. Consequently, ACM SIGWEB has the only website I've ever seen which is not Plone, and advertises compliance with Accessibility Standards.

In any case, we are actually not running a public beta. The site at plonebeta.acm.org is simply a demo I have produced for the ACM IS team, and a place where I can demonstrate various products. Membership is closed, though it will eventually be open to all ACM Members, and many tools which could eventually be available to members may not be available to the public.

I just want to be up-front about this. From what I know, I don't think this was published in response to any announcement from the ACM, but more likely based on our url being in bug reports and being discussed on #plone. I love viral marketing, but I don't want anyone to get the wrong idea. We certainly do plan to announce a public beta in January and to sponsor future Plone events and conferences.

BTW, someone commented on the speed of Plone. Just this morning I dumped a diatribe of thoughts on Python and Zope-style application development, based on my thoughts over the past five or six years. Curious parties can read the living document here.

Thursday, October 12, 2006

Zope.org DNS Post-Mortem

Wow, so, apparently, I am a complete ignoramus. That's what it means when you crown a volunteer as responsible for something you don't want to handle, and it goes wrong, right?

I dunno. I won't put it past myself to make a mistake, but what went wrong with Zope.org this week was odd - it was exactly one of the things I worked pretty hard to avoid. All of the records with a certain IP address were hosed and had the exact same incorrect address.

If I stumbled on this for a client or in the course of helping someone else, I would probably assume that they made a mistake with the mouse, and that may be just what I did. However, I remember pretty clearly making a point to individually copy the contents of each record from the BIND zone-file I was sent into ZoneEdit, whom we are using in order to implement shared access to the zone. I made a point to copy each record even when the IP address was the same, and I visually verified that all was the same multiple times. Unfortunately, ZoneEdit's import functionality for zone-file is broken, so I had to create about 30+ records by hand, one at a time. It took a while.

Anyway, what happened was that a bunch of people not only got records for an address ending in .1 instead of .171, but a lot of companies and providers cached them locally. Bad news, because the records last a while, and this means that people couldn't get to various parts of zope.org - espescially cvs/svn and the main website. Murphy's fucking law. Almost nothing else was even a hair off, and most of the other hostnames are probably not even used anymore.

In any case, apparently this was most certainly all my fault, no less because I wanted us to set up a group of six to ten servers grabbing zone transfers from zoneedit, so that zope.org would never be at risk of, ehm, going down for a week.

I also probably wasn't vocal enough about it, because everything seemed to work OK, but I wouldn't have recommended doing this in a week or so of time. Moving zope.org is a pretty big deal. Sure, I spent about two days on my own zones, and they went up and down like crazy, but only about five people care about that, and they don't care very much. I used the experience to help avoid several days of downtime for some client zones which I also moved to ZoneEdit, and also, despite the current pains of zope.org, to avoid several days of downtime.

As we'd been heading, we probably would have switched directly to ZoneEdit, probably noone would have tried to test that they were even serving the zone, and for 2-3 days the entire zone, including mail and mailing lists, would have been down. At least, that's what I think. That's what happened to my zones which I moved more or less in this fashion. ;)

So yeah, I'm done. I'm tired of being blamed. Maybe I made a typo, didn't double check, and fucked a bunch of people all week. I sure as hell feel like it, but if I didn't, you guys are definitely assholes.

Fuck you very much.