The Wayback Machine - https://web.archive.org/web/20080211131052/http://blogs.zdnet.com:80/Burnette/
Ed Burnette
burnette image
Software, gadgets and games
February 6th, 2008

“First among equals” undermines community, says Linus

Posted by Ed Burnette @ 11:11 am Categories: General, Java, Licenses, Community, Sun, Linux Tags: GPL, Linux, Open Source, UNIX, Operating Systems, Software, Ed Burnette

First among equals undermines community, says LinusIn an interview at the Linux Foundation, Linus Torvalds warned of commercial control of open source. Using Java and OpenSolaris as an example he pointed out that “Sun ends up having rights that nobody else has – even if they then act perfectly and they really behave well, just the fact that they have special rights makes people legitimately feel like they are second class citizens.”

The “special rights” he’s referring to come into play because a) a single commercial entity, in this case Sun, holds the copyright, and b) the license used, in this case GPL, does not give other users and developers the same rights as the copyright holder. The owner can use, or allow others to use, the code in ways the GPL prohibits. This gives the owner a competitive advantage and a source of revenue that nobody else can enjoy.

Fellow ZDNet blogger Dana Blankenhorn refers to this situation as “proprietary open source“.

“That’s not how you build a community,” says Linus, who uses a different model for the Linux kernel. “One of the things I did with Linux from very early on was when somebody sends me changes, they retain all copyright in those changes. I don’t have any more rights than anybody else,” he says. “Your rights when it comes to Linux are directly what you put into it.”

This does make some things harder, such as making changes to the license, he admitted. “There are rationalizations for why you have to assign copyrights to some and they may even be valid,” he says, “but it does undermine the community because it means that there is a first among equals.”

In related news, so far both Linus and the Free Software Foundation have declined to respond to “An Open Letter to Linus Torvalds“. Released on Martin Luther King’s birthday, one of the things the letter proposed was to change GPL to allow GPL and non-GPL code to be intermixed more freely. This would help level the playing field between code owners and everybody else.

February 4th, 2008

Viral video: Frozen Grand Central

Posted by Ed Burnette @ 7:55 pm Categories: General, Viral video Tags: Video, Corporate Communications, Marketing, Ed Burnette

Viral video: Frozen Grand CentralAccording to this recently declassified video, 207 secret agents infiltrated Grand Central Station one cold February afternoon. Made up of people of all ages and races, this clandestine group looked like typical New Yorkers. They aroused no suspicion from security forces as they spread out and mixed with commuters and tourists. Until 2:30pm that is, when all at once… they froze.

[ Watch the video ]

The effect was immediate and striking. A baffled crowd didn’t know what to make of it. Here are some of their reactions, which you can see and hear on the video:

“They stopped what they were doing, and just stood like… like, frozen!”

“It’s like… everybody!”

“I think it’s some kind of protest, or maybe an acting class.”

“I can’t move my cart, there’s hundreds of people frozen everywhere. This is wild.”

“They are not moving! I need some help.”

[ Read: More about viral video ]

The 5 minute event was staged by Improv Everywhere, a group (movement?) founded by Charlie Todd in 2001. In a detailed description of the incident (which includes many comments from participants), he writes:

We got great reactions from the folks who encountered us. Strangers started talking to each other, trying to figure out what was going on. With wireless microphones hidden in our shirts, a few agents and I struck up conversations with folks.

It was fun to see all the different choices people made for their frozen moment. I didn’t give any instructions in advance. I just told everyone to be doing something realistic and not jokey. One guy dropped an entire briefcase full of papers the second before he froze, leaving his papers scattered before him for five minutes. Many froze midway through eating or drinking. A few froze while taking off a jacket. One couple froze kissing.

The video was released on Friday, and as of this writing, 1.4 million people have watched the video on YouTube, leaving over 4,000 comments. Perhaps it was a little too successful, though. The Improv Everywhere site racked up over 1.3TB of network traffic and several hundred dollars of charges from their ISP over the weekend, leading Charlie Todd to ask for help. “If you like what we do,” he wrote in a plea posted on the site Monday, “please consider making a small donation to help us cover our costs.”

February 1st, 2008

Microsoft preps for hostile takeover of Yahoo!

Posted by Ed Burnette @ 3:46 am Categories: General, Microsoft Tags: Yahoo! Inc., Microsoft Corp., Ed Burnette
In Focus » See more posts on: Microsoft-Yahoo

Microsoft offers $44.6 billion for YahooMicrosoft just announced a $44.6 billion offer for Yahoo. Microsoft CEO Steve Ballmer made the half-cash, half-stock offer in a brutal carrot-and-stick open letter to Yahoo!’s board of directors.

The Redmond giant appears to laying the groundwork for a hostile takeover if it comes to that. Ballmer writes that the board spurned an earlier attempt at acquisition in early 2007:

The principal reason for this view was the Yahoo! Board’s confidence in the “potential upside” if management successfully executed on a reformulated strategy based on certain operational initiatives, such as Project Panama, and a significant organizational realignment. A year has gone by, and the competitive situation has not improved.

By pointing out that management’s strategy has not worked, Ballmer seems to be putting a wedge between the board on one side and stockholders and Yahoo! employees on the other side. In the letter, he writes that this proposal “represents a compelling value realization event for your shareholders”, and goes on to describe how attractive Microsoft’s stock is compared to Yahoo!’s. Not noted for his subtlety, Ballmer really drives the wedge home with these quotes:

You should also be aware that we intend to offer significant retention packages to your engineers, key leaders and employees across all disciplines. …

Depending on the nature of your response, Microsoft reserves the right to pursue all necessary steps to ensure that Yahoo!’s shareholders are provided with the opportunity to realize the value inherent in our proposal.

Why is Microsoft making its move now? While not mentioned by name, clearly Microsoft has Google in its sights with this deal:

Today, the market is increasingly dominated by one player who is consolidating its dominance through acquisition. Together, Microsoft and Yahoo! can offer a credible alternative for consumers, advertisers, and publishers.

After the break, you’ll find the full text of the letter that Microsoft sent to Yahoo!’s Board of Directors: Read the rest of this entry »

January 31st, 2008

TiVo judgment is fascinating, yet frightening

Posted by Ed Burnette @ 7:08 pm Categories: General, Patents, Linux Tags: Patent, TiVo Inc., Object-oriented, EchoStar Communications Corp., Ooa/Ood/Oop, Software Development, Software/Web Development, Ed Burnette
In Focus » See more posts on: Software Patents

TiVo judgment is fascinating readingOk, I know most people would not consider a 37-page legal opinion “fascinating”. But as a computer science major and armchair software patent quarterback (not to mention long-time TiVo fan), that’s exactly how I’d describe today’s written decision by the US Court of Appeals in which they ruled that EchoStar (Dish Network) infringes on TiVo’s “time-warp” patent. I mean, how can you not appreciate passages like this one, which delves into one of life’s great mysteries: is the word “an” singular or plural?

As a general rule, the words “a” or “an” in a patent claim carry the meaning of “one or more.” That is particularly true when those words are used in combination with the open-ended antecedent “comprising.” However, the question whether “a” or “an” is treated as singular or plural depends heavily on the context of its use. … Unlike the case in Baldwin Graphic, where the claims and the written description could be read to encompass either a singular or plural interpretation of “a” or “an,” the claims and written description in this case make clear that the singular meaning applies.

TiVo’s patent (6,233,389) says that the “Output Section assembles said video and audio components into an MPEG stream” (emphasis mine). TiVo, bless them, tried to claim that “an” meant “one or more” in this context. EchoStar said “an” meant “one”, and their DVR assembled the video and audio into two separate MPEG streams so the patent didn’t cover them, thank you very much. The court sided with EchoStar on this particular point, but not on several others.

Half of the patent (which was filed 10 years ago in July) concerned the hardware part of the TiVo DVR, and half concerned the software part. The court reversed the judgment of infringement of the hardware claims, but affirmed the infringement of the software claims. That means EchoStar loses the case and has to pay $73 million (or more) in damages to TiVo. In addition, EchoStar will likely either have to quit selling DVRs or pay TiVo a royalty on each box in the future.

It didn’t help EchoStar that their arguments were pretty weak. For example, the patent uses the word “object” in several places, e.g.:

[2] providing a source object, wherein said source object extracts video and audio data from said physical data source;
[3] providing a transform object, wherein said transform object stores and retrieves data streams onto a storage device;
…

EchoStar argued that “object” means an item written in an object-oriented language like C++. We didn’t use an object-oriented language, they said, therefore we have no objects, and so we couldn’t be violating the patent. (I’m not kidding–I could not make this stuff up, folks.) TiVo, needless to say, didn’t agree:

TiVo’s expert offered a broader definition for the term “object,” referring to it as “a software term that describes a collection of data or operations.” He explained that “objects” can contain both data and operations, but that they may contain only data or only operations. He added that the term “object” does not imply the use of an object-oriented computer language, and that objects and object-oriented techniques can be used in many programming languages. As support for its proposed definition, TiVo cited a technical dictionary, which gave “a collection of data and operations” as one of the definitions of the term “object.” IEEE 100: The Authoritative Dictionary of IEEE Standard Terms 752 (7th ed. 2000).

The court sided with TiVo, saying that “persons of ordinary skill in the art would understand that term according to its ordinary meaning, which accorded with TiVo’s definition.” Chalk one up for common sense.

I was surprised by all the technical detail in the ruling. For example it talks about Ioctl commands, temporary storage buffers, Broadcom chips, pushing vs. pulling, and so forth. I guess courts aren’t as technically clueless as I once thought.

Mostly, though, I’m stunned and a bit worried at how every little word in a patent filing can take on such an important role when there are millions of dollars at stake. I’m sure that great care was taken in writing this patent, but that didn’t help. Someday, even though I object to the idea of software patents personally, I may find myself in a position where I need to file one. The thought of a room full of lawyers spending countless hours pouring over the minutiae of each word and punctuation mark has me dreading that day even more.

January 28th, 2008

How Android works: The big picture

Posted by Ed Burnette @ 5:17 am Categories: General, Java, Programming, Google, Linux, Android Tags: Google Inc., Layer, Android, Programming Languages, Linux, Java, Open Source, Software Development, Software/Web Development, Operating Systems, Software, Ed Burnette

[This article is part of a continuing series on Android, Google’s new mobile phone platform. It is excerpted from an upcoming book. –Ed]

Some parts of Android will be familiar, such as the Linux Kernel, OpenGL, and the SQL database. Others may be completely foreign, such as Android’s idea of the application life cycle. You’ll need a good understanding of these key concepts in order to write well-behaved Android applications.

[ READ: More articles on Android ]

Let’s start off by taking a look at the overall system architecture–the key layers and components that make up the Android stack. The following diagram (courtesy of Google) shows the “20,000 foot” view of Android:

How Android works: The big picture

Starting at the bottom is the Linux Kernel. Android uses Linux for its device drivers, memory management, process management, and networking. However you will never be programming to this layer directly.

The next level up contains the Android native libraries. They are all written in C/C++ internally, but you’ll be calling them through Java interfaces. In this layer you can find the Surface Manager (for compositing windows), 2D and 3D graphics, Media codecs (MPEG-4, H.264, MP3, etc.), the SQL database (SQLite), and a native web browser engine (WebKit).

Next is the Android runtime, including the Dalvik Virtual Machine. Dalvik runs dex files, which are coverted at compile time from standard class and jar files. Dex files are more compact and efficient than class files, an important consideration for the limited memory and battery powered devices that Android targets.

The core Java libraries are also part of the Android runtime. They are written in Java, as is everything above this layer. Here, Android provides a substantial subset of the Java 5 Standard Edition packages, including Collections, I/O, and so forth.

The next level up is the Application Framework layer. Parts of this toolkit are provided by Google, and parts are extensions or services that you write. The most important component of the framework is the Activity Manager, which manages the life cycle of applications and a common “back-stack” for user navigation.

Finally, the top layer is the Applications layer. Most of your code will live here, along side built-in applications such as the Phone and Web Browser.

One of the unique and powerful qualities of Android is that all applications have a level playing field. What I mean is that the applications Google writes have to go through the same public API that you use. You can even tell Android to make your application replace the standard applications if you like.

In the next installment we’ll take take a closer look at the components in the Android Application Framework.

Related articles:

Did you find this article helpful? Have a suggestion? Leave a comment and let me know.

January 21st, 2008

Software emancipation: An open letter to Linus Torvalds

Posted by Ed Burnette @ 4:50 pm Categories: General, Java, Licenses, Patents, Community, Programming, Linux Tags: Software, Linus Torvalds, GPLv2, RSS, Internet, Ed Burnette

[After years of watching the software industry twist itself in knots trying to differentiate “open” vs. “free” and having to re-invent code simply because it had the wrong comments at the top, I think it’s time to put an end to the madness. This promoted me to write the following letter to Linus Torvalds, creator of the Linux kernel. -Ed]

Dear Linus,

Like you, I’m pragmatic, not dogmatic. I believe software wants to be used and shared, but licensing issues keep getting in the way. As an industry, we’re making this way too hard on ourselves. We’re wasting our energies on unproductive issues and unnecessary restrictions. Something’s got to give.

GPLv2, because of its ubiquity and common sense values, plays a central role in where we are today. It deserves a lot of credit, but it’s not without its flaws. GPLv3 started off trying to fix some of the problems but it became highly politicised and mixed up with the software equivalent of “social engineering”. Just look at the confusing distinction it makes between user and non-user products for example.

A license is no place for a political or social agenda. So I’ve got a radical idea I’d like you to consider:

Let’s fork the GPL itself, and come out with our own revision, say, “GPL version 2.2″[1], which would become the “real” successor to GPLv2.

Remember what happened to RSS[2]? RSS 1.0 came out but it was considerably different from RSS 0.91. So Dave Winer developed RSS 0.92 to carry on the 0.91 tradition. Eventually, RSS 2.0 grew out of RSS 0.92, making 1.0 an evolutionary dead end. GPLv2 is like RSS 0.91, and GPLv3 is like RSS 1.0. The new license could be the equivalent of RSS 0.92. And maybe someday there would be a GPLv4 which would be based on 2.2 not 3.0.

Some of the guiding principles of “v2.2″ could be:

  • Unambiguously allow use of code in embedded devices (like TiVo).
  • Unambiguously allow plug-ins, device drivers, and other add-ins to be covered by any license.
  • Explicitly allow combinations with code in other licenses, but preserve the idea of giving back improvements.
  • Grant enough patent rights to make contributions useful, while not pursuing an agenda.
  • Make it short and sweet (v3 is too long and lawyerly).
  • Respect the freedoms of programmers (and their code) too, not just users.

There are not many people who could pull this off; in fact you may be the only one. If you get behind it, others will follow.

So what do you think?

–Ed

[1] Since there was already an LGPLv2.1 I thought it’d be better to skip GPLv2.1 to avoid confusion. Of course, GPLv2.0 is copyrighted by the FSF so we’d have to write a new one from scratch.

[2] http://cyber.law.harvard.edu/rss/rssVersionHistory.html

January 16th, 2008

Time Capsule works with PCs too

Posted by Ed Burnette @ 12:01 am Categories: General, Apple Tags: USB Port, Apple Macintosh, PC, Ed Burnette, Ed Burnette
In Focus » See more posts on: Macworld

Steve Jobs announced a device called the “Time Capsule” at Macworld 2008 Tuesday, but several important facts were lost in the frenzy. At first glance it looks like yet another external hard drive that happens to operate wirelessly and can automatically back up your Mac. Well, yeah, it can do that, but take a look at the back:

Time Capsule works with PCs too

According to the Apple web site, the Time Capsule features:

  • 802.11 a/b/g/n base station compatible with Macs, PCs, and any other Wifi devices.
  • Gigabit WAN port to connect to a DSL or cable modem.
  • Three gigabit LAN ports for connecting to computers or network devices.
  • Wireless printing hub. Plug a printer into the included USB port and share it throughout your home network (PC or Mac).
  • Expandable storage through the USB port (instead of a printer).
  • Wireless hard drive for PCs and Macs, up to 1TB of storage.

The combination device is available for pre-order now for $299 (500GB) or $499 (1TB). It ships in February.

January 15th, 2008

Apple introduces MacBook Air

Posted by Ed Burnette @ 10:12 am Categories: General, Apple Tags: Apple MacBook, Apple Inc., Notebooks, Hardware, Notebooks & Tablets, Ed Burnette
In Focus » See more posts on: Macworld

At Macworld 2008, Steve Jobs introduced what he called “the world’s thinnest notebook”: MacBook Air. The sub-notebook uses a special slimmed-down version of the Intel Core 2 Duo, but a full-sized keyboard. And while it doesn’t have an optical drive it can use one wirelessly from a nearby PC or Mac.

Apple introduces MacBook Air

Photo credit: REUTERS/Robert Galbraith

The new notebook is 0.16″ thick at its thinnest part, and 0.76″ at its thickest. It’s so small it can fit in a manila envelope. Other features include:

  • 13.3″ 1280×800 LED back-lit display
  • 1.6GHz or 1.8GHz Core 2 Duo with 4MB L2 cache
  • 2GB of 667MHz DDR2 SDRAM
  • 80GB 1.8″ hard drive, or optional 64GB SSD
  • Multi-touch trackpad with pinch-zoom
  • Lighted keyboard with ambient light sensor
  • Built-in camera, microphone, mono speaker
  • 1 USB 2.0 port, audio out
  • Micro-DVI output (with converter to VGA or DVI)
  • 802.11a/b/g/n, Bluetooth 2.1+EDR
  • Environmentally friendly mercury-free enclosure and display
  • 45 Watt MagSafe power supply
  • 37-watt-hour LiPo battery, 5 hours battery life

MacBook Air

Since the MacBook Air doesn’t have an optical drive, it comes with software to let it wirelessly use a drive from another machine:

“We have a new feature built into the MBA called Remote Disc. You’ll see in the finder–it will show you all the Macs and PCs that have some special software on them, and you can pick one of those machines and ask to borrow its optical drive. Once they’ve accepted your request you can see what’s on their optical drive–a PC can read a Mac disc and send it wirelessly over to your MBA and it’s just as if you had a local optical drive.”

The new MacBook Air will start at $1799, according to Jobs. Apple is taking pre-orders now, with shipments in two weeks.

January 14th, 2008

Java vs. Android APIs

Posted by Ed Burnette @ 5:25 am Categories: General, Java, Programming, Android Tags: Google Inc., Java 2, API, Android, Java, Programming Languages, Software Development, Software/Web Development, Ed Burnette

AndroidGoogle’s mobile phone platform, Android, supports a relatively large subset of the Java Standard Edition 5.0 library. Some things were left out because they simply didn’t make sense (like printing), and others because better APIs are available that are specific to Android (like user interfaces). This article lists what is and is not included.

[ Read: More coverage of Android ]

Supported
The following standard packages are supported in Android as of the latest release candidate. Consult the Java 2 Platform Standard Edition 5.0 API documentation for information on how to use them.

  • java.io - File and stream I/O
  • java.lang (except java.lang.management) - Language and exception
  • support
  • java.math - Big numbers, rounding, precision
  • java.net - Network I/O, URLs, sockets
  • java.nio - File and channel I/O
  • java.security - Authorization, certificates, public keys
  • java.sql - Database interfaces
  • java.text - Formatting, natural language, collation
  • java.util (including java.util.concurrent) - Lists, maps, sets, arrays, collections
  • javax.crypto - Ciphers, public keys
  • javax.net - Socket factories, SSL
  • javax.security (except javax.security.auth.kerberos, javax.security.auth.spi, and javax.security.sasl)
  • javax.sound - Music and sound effects
  • javax.sql (except javax.sql.rowset) - More database interfaces
  • javax.xml.parsers - XML parsing
  • org.w3c.dom (but not sub-packages) - DOM nodes and elements
  • org.xml.sax - Simple API for XML

Not supported
These packages, normally a part of the Java 2 Platform Standard Edition,
are not supported by Android.

  • java.applet
  • java.awt
  • java.beans
  • java.lang.management
  • java.rmi
  • javax.accessibility
  • javax.activity
  • javax.imageio
  • javax.management
  • javax.naming
  • javax.print
  • javax.rmi
  • javax.security.auth.kerberos
  • javax.security.auth.spi
  • javax.security.sasl
  • javax.swing
  • javax.transaction
  • javax.xml (except javax.xml.parsers)
  • org.ietf.*
  • org.omg.*
  • org.w3c.dom.* (sub-packages)

Third party libraries
In addition to the standard libraries listed above, The Android SDK
comes with a number of third-party libraries for your convenience.

  • org.apache.commons.codec - Utilities for encoding and decoding
  • org.apache.commons.httpclient - HTTP authentication, cookies, methods, and protocol
  • org.bluez - Bluetooth support
  • org.json - JavaScript Object Notation
January 8th, 2008

Viral video: Battle at Kruger

Posted by Ed Burnette @ 6:23 am Categories: General, Viral video Tags: Footage, Buffalo, Lion, Video, Corporate Communications, Marketing, Ed Burnette

Viral video: Battle at KrugerOne of the most popular videos at YouTube right now is dramatic footage taken by tourists in South Africa’s Kruger National Park. It’s an epic battle between a pride of lions, a herd of buffalo, and 2 crocodiles.

[ Watch the video ]

The video starts with the lions hiding in the grass as the buffaloes approach. The lions pounce, bringing down the youngest calf and crashing into a nearby stream. Two crocs get in on the action and try to steal the catch but they’re outnumbered. Then the buffalo herd comes back, and one courageous bull makes his stand.

The movie was shot by amateur photographer David Budzinski using a videocamera he received as a corporate gift. Since being posted to YouTube by fellow safari tourist Jason Schlosberg, it has been viewed over 23 million times. National Geographic even paid to send the pair back to Africa to develop a special on how they got this amazing footage.

Thanks to Adam for the tip.

Ed Burnette has programmed everything from device drivers and compilers to video games and multi-user servers. He is currently writing enterprise software in a variety of languages including C, Ruby, Python, and Java. For disclosure of Ed's industry affiliations, click here.

advertisement

Recent Entries

Most Popular Posts

Archives

ZDNet Blogs

Popular white papers