The Importance of Humility in Extensibility Design
When designing a protocol or programming language the inclusion of extensibility is essentially an act of humility. One is minimally admitting that one's design is not complete and more generally one is admitting that one's design is not perfect. By providing for extensibility one is enabling others to improve and in many cases fix one's design.
Unfortunately it's easy to get extensibility design wrong. Typically such design errors result from assuming oneself or others to be perfect and in that assumption one fails to provide for sufficient extensibility. A rather subtle example of this problem recently came up in the Web Services – Business Process Execution Language Technical Committee (WS-BPEL TC).
(more…)
Innovation, Premature Standardization and Caveat
Emptor
Adam Bosworth's blog had a pointer to an interesting entry in another blog on innovation and standards which itself pointed to another good blog entry on the subject. All three came to the same conclusion – Standards shouldn't innovate. As anyone who has read my rule's of standardization knows, I agree wholeheartedly. And yet, premature standards, standards in areas that are not well understood, keep getting churned out. Why?
(more…)
WebDAV, DASL, XQUERY and XPATH 2.0
The Web's slow but inexorable movement from a read only to a collaborative environment is increasing WebDAV's success. But WebDAV still has a serious functional outage – search. The DASL community has been keeping hope alive by continuing to work on a search grammar for WebDAV. But much as WebDAV adopted XML both to solve real problems and to ride on the coat tails of XML's success, so DASL could solve a number of serious technical issues and increase its own visibility and leverage the excitement and investment in the XPATH/XQUERY community if it adopted a profile of XPATH 2.0 as its basic search grammar. In the article below I discuss some of the details of how DASL could use XPATH.
(more…)
Yaron's Rules of Standardization
Most of my job for the last few years has been working on standards. In that time I noticed a fairly obvious pattern for technologies that tend to make successful standards, they meet three criteria:
Yaron's rules of standardization:
- The technology must be very old and very well understood
- 20 years is a good rule of thumb
- Everyone must implement the technologies in essentially the same way
- A good rule of thumb is, how hard would it be to build a bi-directional proxy between the various players implementation of the technology?
- Standardizing the technology must provide greater advantage to the software writing community then keeping the technology incompatible
- Even in the open source world standards can fail if there isn't enough advantage in it, just look at the fights over RSS.
Patents, Open Source and GPL
Lots of commercial companies are getting very worried about Open Source. They view Open Source as a direct threat to their success. After all, how do you compete with free? I think these companies are missing the point, Open Source is just another commoditizer and anyone who has succeeded in the technology business long ago learned how to deal with being commoditized. In fact, as commoditizers go Open Source is not a bad way to go. In the old days when a technology became commoditized it would disappear into some dominant platform that no one could access. With Open Source when a technology is commoditized it instantly becomes available to everyone which is to everyone's benefit, except of course to the dominant platform owners.
(more…)
A Buyer's Guide to Standards
This article talks about the two criteria a technology buyer can apply to determine if the 'open standard' they are intended to rely on is really open at all. Those criteria are – licensing and change control.
Licensing controls who gets to implement the standard and what price they have to pay to do it. Open standards are licensed under 'royalty free' terms which means that anyone can implement the standard any time they want without having to pay any money or ask anyone's permission. Closed standards are almost universally RAND or RAND-Z based.
Change control identifies who has the right to say what the standard is and change it as time goes on. Open standards are owned by open standards organizations which have reasonably open membership and voting procedures to approve standards that can not be hijacked by a small group of people/companies. Closed standards either haven't been submitted to any open standards organization, have been submitted under dubious circumstances or have been submitted to pseudo-open standards organizations created to provide the veneer of openness.
Of these two criteria licensing is the most critical. If you check nothing else, check the license because if it isn't royalty free it isn't open.
(more…)
Service Location Protocol V2 – An Analysis
Some of the reasons why Universal Plug and Play (UPnP) did not adopt Service Location Protocol V2 (SLP a.k.a Rendezvous) as its discovery protocol. (more…)
OpenNic
This web page is available via http://www.goland.geek. IANA's incompetence and bad faith has reached legendary status in the Internet community and we desperately need an alternative. I don't claim that OpenNic has the solution but we have to do something. I now point my PC's DNS resolution to http://www.opennic.unrated.net/personal.html. Yes, this has obvious privacy ramifications but I'm willing to live with it. Thanks to Simkin for hosting my .geek DNS record.
Royalty Free/Reciprocal
How can something be a de jure standard and still not be open and freely available? When it's license isn't Royalty Free/Reciprocal.
(more…)