Jul 02

Post by Daniel Jalkut of Red Sweater Software - http://www.red-sweater.com/blog/825/getting-pretty-lonely. Reposting since Daniel’s site is currently overwhelmed.


This very post is delivered to your browser or news reader by the famous and fabulous WordPress blogging system. In my work as the developer of MarsEdit, I am exposed to countless blogging options, each with its own strengths and weaknesses. And yet, I stick with WordPress because it strikes a balance of power and ease of use which feels comfortable to me. Not to mention that Joseph Scott and others are tirelessly working to improve its API.

WordPress is licensed under the terms of the Gnu Public License (GPL) which, in a nutshell, stipulates that you are free to use the software however you like, but if you make changes and distribute those changes, then you must share those changes under the same terms. This simple, radical restriction means that you are prohibited from taking a GPL project and incorporating it with a closed-source project.

Violating The GPL

Violating the GPL is easy. All you have to do is write some code, intermingle it with some GPL code, distribute a changed copy of the original, and refuse to share your contributions. Bam! You’re toast. Assuming the original authors discover your violation and decide to pursue a resolution.

Once a violation occurs, it might be settled privately, or could escalate to legal court procedures. But the most obvious form of resolution is for the author of the changes to release their code to the public under the terms of the GPL.

Depending on how much code you “mixed” with the GPL code, this could mean only a small portion, or it could mean the entire source code of your project. This so-called “viral nature” of GPL is what scares the bejeezus out of companies, large and small, who fear the consequences of having to give up their own intellectual property to the public.

The terms of the GPL sound pretty simple at first read, but due in part to the epic consequences of a violation, there has been a great deal of debate and uncertainty about what legally constitutes a violation. Most of the debate seems to boil down to two questions:

  1. What counts as a change to the original product?
  2. What counts as distribution of those changes?

If you can legally justify that your additions to a GPL project either don’t change or derive from the original product, or haven’t technically been distributed, then you are not subject to the restrictive terms of the license.

Take GIMP, the popular GNU-licensed image editing application. The application supports plugins, analogous to the types of plugins you might find for the commercial, closed-source application Photoshop. A savvy developer may argue that a plugin doesn’t meet the criteria of changing the original application, because the original application still runs in its unaltered condition whether the plugin is there or not.

But promoters of the GPL take the position that plugins, by nature of being loaded into the same code space as other GPL code, do constitute a modification of the original, and are therefore subject to the terms of the GPL. As far as I know this is not a question that has been well-tested in courts.

Let me take a moment to make this abundantly clear: I respect the rights of authors to license their software under whatever terms they choose, including the GPL. In my opinion, all the legal mumbo jumbo ceases to matter once the original author’s intentions are made clear. So if the author of GPL-licensed code clarifies to me that it cannot be run on Sundays, then their GPL means it cannot be run on Sundays. But this is one of the problems with the GPL: its terms are not often understood, even by the authors of GPL-licensed code.

WordPress Themes & Plugins

WordPress supports two explicit forms of extension, each of which may affect the appearance and functionality of the product. Themes tend to work as a “skin” for the appearance of a blog, while plugins tend to introduce completely new features. Since plugins in WordPress are analogous to GIMP or Photoshop plugins, it would stand to reason that they would also be covered by the terms of the GPL. But what about themes?

Themes have been controversial in the WordPress community, as a few commercial business models have sprung up to take advantage of bloggers’ desires for high quality themes at an affordable price. One approach is to distribute “free” themes that contains commercial ads. So you might stumble upon the perfect theme for your blog, only to learn that the glaring “Brought to you by Hostess Cupcakes” line near the bottom of your page cannot be removed.

But the terms of the GPL, if themes are covered, would require that end users be granted the legal right to modify and redistribute their own copy of the theme. Zap the sponsorship, reupload to your site, and you’ve got a free, high quality theme with no ugly ads.

Today, Matt Mullenweg of the WordPress project announced his lawyer-supported opinion that themes are partly covered by the GPL:

I reached out to the Software Freedom Law Center, the world’s preeminent experts on the GPL, which spent time with WordPress’s code, community, and provided us with an official legal opinion. One sentence summary: PHP in WordPress themes must be GPL, artwork and CSS may be but are not required.

If you’re starting with the understanding that WordPress itself is GPL, and WordPress plugins are GPL, then it’s not so much extra hay on the camel’s back, to also clarify that its themes are to some extent GPL. But it got me thinking again about my own blog, and about the restrictions the GPL imposes on the kinds of things I can do with the software that runs it.

GPL Stifles Participation

Now for the most controversial point of this article, where I suggest that the GPL does more to harm collaborative development than it does to help it.

For the purposes of this argument, let me reduce all the source code in the world down to three rough categories. I recognize I have omitted some classes of license here, but for the sake of argument, most projects fall into these camps:

  1. GPL code. Changes may be distributed only in other GPL products.
  2. Liberal-licensed code. (MIT/BSD/Apache/etc). Changes may be distributed anywhere. Appropriate origin-attribution may be required.
  3. Closed-source code. May be distributed only by the copyright owner and other explicit licensees.

Now, there are a few people in the world who, for political or philosophical reasons, will only participate in a GPL project. And for compariable yet opposite reasons, there are some who will only participate in commercial, closed-source projects. But I propose that the vast majority of developers will participate in any project that is advantageous to them.

So let’s imagine a representative, run-of-the-mill developer who is working on a project that falls into each of these three camps. If this developer is not radically committed to their own project’s license, they will naturally look to outside resources in order to bolster the success of their own work.

As the developer evaluates communities to participate in, they must evaluate the legal impact such participation will have on their own project. The closed source communities are, by definition uninviting to outsiders. GPL communities are open and embracing of other GPL developers, but generally off-putting to liberal-license and closed-license developers. Only the liberal-license communities are attractive to developers from all 3 camps.

I know what some of the GPL-enthusiasts are thinking now: “leeches don’t count as community.” Many GPL developers take comfort in the fact that their hard work can’t be quietly taken and incorporated into a commercial product, without any payback of time or money to the original project. But you’re piloting an open source project, and the first step of building a community is to get people in the door. Liberal licenses? Whoo-eee do they ever get people in the door.

If you operate from the presumption that great developers love to build great projects, the first step in any successful open source project is to get as many great developers in the door as possible.

It’s Your Party

Yes, this is just me and my crazy theories. I haven’t done exhaustive research to prove that liberal-license communities thrive more than GPL communities. But the anecdotal examples are staggering. The very foundation of Mac OS X, the operating system through which I’m typing, is thanks to the liberally-licensed FreeBSD operating system.

Looking over to the right of my screen, I’m watching this sentence appear in a live web preview as I type, thanks to the WebKit project, whose liberal license makes it compatible with closed source projects such as Safari, as well as open source efforts such as Google’s Chromium project.

For years, the problem of a generic HTTP client library that runs on every major platform has been addressed by libcurl, whose liberal license has caused it to be embraced by countless companies and projects.

The popular Subversion source control system’s liberal license enabled Sofa, a commercial software business to contribute value to the community with its extremely polished, award-winning client application. Meanwhile, the newly popular distributed source control systems presents three major choices: git, Mercurial, and Bazaar. All are restrcted by the GPL-license, and therefore none is likely to inspire development of a Versions-caliber client.

I’ve touched the tip of the iceberg, and yes I’ve neglected to mention some GPL success stories such as Linux, MySQL, and gcc. These communities have thrived to some extent because the passions of the GPL community are strong, but we can’t know whether their success is in spite of the restrictions their license places on participation by the broader developer community.

Speaking of GPL succeses, WordPress is itself an example of monumental success. All of its developers have something to be immensely proud of. But whenever I am reminded that WordPress is GPL, my passion for it takes a bit of a dive. I’m more comfortable with the true freedom of liberally-licensed products. If a liberally-licensed blog system of equal quality, ease of use, and popularity should appear, my loyalties to WordPress would not last long.

It’s your party, and you’re entitled to write the guest list. But take a look around the room: not as many folks as you’d hoped for? Liberally-licensed projects are booming. Speaking for myself, a developer who has been to all the parties, I’m much more likely to pass through the door that doesn’t read “GPL Only.”

Jun 28

iDeskCal was recently reviewed in the French Mac magazine, VVMac and received 4.5 out of 5 stars!

The issue is on news stands for the next two months.

vvmac-45_5

Jun 21

As my last post mentioned I went to WWDC a couple of weeks ago, well while I headed to San Fran to get my Geek on, Nancy and Tyler took a trip to Utah to visit family.

The first part of the week they visited Nancy’s family and then the last part of the week they visited mine.

Right before Nancy and Tyler were going to fly home, Nancy tells me that Tyler is throwing up.
Great…. throwing up is not good in our house for more then the normal reasons, as Tyler throwing up only once has not been a sign of a Shunt malfunction.

Well now it is twice… it was not a shunt malfunction.

Good news right? Yes, and no.
Yes because he doesn’t deserve to go through another brain surgery.

Why bad?
Well as I was getting ready to leave to go pick them up at the airport my mom informs me that my little sister (who they just spent half a week with, mind you) has been diagnosed with the Swine Flu!

Yes… that’s right… the Swine Flu!

We immediately head from the airport to a night time pediatrics office and they put Tyler on some medication called Tamiflu which is supposed to help you get over the Swine Flu faster.
Tyler was pretty sick for about 2 days and then was back to good old normal happy Tyler.

Well around day 2 Nancy and I started feeling gross.
Another trip to the doctors and Nancy and I are also put on Tamiflu.

Unfortunately for us we didn’t get Tyler’s 2 day version and instead we are BOTH STILL sick!
At least at this point we don’t feel like we are going to die.
All the same symptoms still but just lessened to the normal “being sick” level.

According to the CDC we are supposed to stay away from people for at minimum 7 days, more if you still have symptoms. They say at least 24 hours after ALL your symptoms are gone.

So we are all still locked up in the house, feeling like crap.

I guess it serves me right for joking about the Swine Flu when it first came out….

Anyways, if you live nearby and want to bring us some food we will pay you and you don’t have to come in if you don’t want (food options are getting really boring). :-)

Jun 21

I have been back from WWDC for a little over a week now, but haven’t had a chance to say anything about it or post any pictures. (I will post an explanation shortly)

WWDC (Apple’s World Wide Developer Conference, in case you don’t know) was amazing!
This was the first time that I have been able to justify going (it’s not cheap) but man was it great.

I had the chance to meet so many amazing people that I talk to all the time on Twitter, but now I got the chance to meet them in real life.

Besides all the great developers and parties, it was a chance to learn about new and upcoming enhancements to the Mac operating system and the iPhone, as well as learn the best way to do certain things in code, coming from the people that write the language!

Apple also offers what the call labs during WWDC.
Labs allow you to take your code and sit down with an Apple Engineer that works on whatever particular topic you want, and they are there to serve. They will look over code and tell if you how you could have done it better, or they will help you debug an issue you are having, or anything else.

There is so much information flying at you all day that it can be overwhelming at times.

And when the sessions and labs end each day, WWDC does not end….
I have never seen more back to back, double/triple booked parties in my life.
Parties that go until all hours of the morning.

So with sessions and labs all day and parties all night, by midweek you are the walking dead but it doesn’t stop the fun. (and I didn’t even go out every night!)

Around the end of the week Apple throws a big party and this year had the band ‘Cake’ come and perform.

Overall it was a GREAT time and I can’t wait until next year, yet it is always nice to come back home to family as well.

We are talking about Nancy coming along next year and being able to tour San Francisco while I am in the sessions.

My WWDC 09 Photos - http://www.flickr.com/photos/kdbdallas/sets/72157620059169940/

SDC10044

Jun 21

I will be honest and upfront and say I don’t know if KillExchangeLocks will be revamped for 3.0.

I have pretty much totally moved away from the entire Jailbrake scene.
In fact out of all 6 devices I own only 1 is Jailbroken and I only keep that one on hand because I have 2 paid apps that I released back during firmware 1.x and before the AppStore.

I am very sorry if this news comes as a disappointment.

Since 2.0 and the AppStore came out Jailbraking has lost its appeal to me as I use AT&T so that’s not a concern for me and since the only reason I ever got into the Jailbrake scene in the first place was to be able to write my own apps and run other peoples apps on a great device that had so much more potential.

Now with the AppStore it seems like Jailbraking is done for one or more of the following: Carrier Unlock, Apps that Apple won’t approve, and Warez.
I don’t care about carrier unlocks, and I don’t approve of Warez (even if you say you use them as demo’s and buy the ones you like, because 99.9% are not doing that), and that just leaves apps that Apple won’t approve. This would be the only thing to keep me around but Apple lets most things in (it might take a couple rejections first though) that I am interested in.

Also, Apple has been getting really good at closing all the holes that made this app possible (as technically they are security holes).
So much so that the last version “oddly” wouldn’t work for everyone, including me.
I spent a ton of time searching for new ways back then and never found anything that I was happy with, and then I finally gave up and just stopped syncing my work email.

(It was a plus for my day job to have me accessible by email all the time and I decided it wasn’t worth the time and work I was putting into not having my personal device locked down)

Of course I understand that this isn’t the same for everyone.
All I can really say is I feel your pain (as if that helps anything), and that in a comment on the post way back about version 3.0 of KillExchangeLocks, Eirik mentioned that a new app has just shown up in Cydia called: “Exchange Unlock”.

With that in mind, let me get the “legalize” (if you will) out of the way.
“Exchange Unlock” is not my work, nor do I have anything to do with it in any way.
I have NO idea if it works, and I can not be held responsible if it blows up your device, literally or figuratively.

I do wish you the best of luck, and encourage you to check out my other work at: HashBang Industries (http://www.HashBangInd.com)

May 25

iDeskCal is currently a Featured 3rd Party Download on http://www.apple.com/downloads/, as well as in the Productivity section: http://www.apple.com/downloads/macosx/productivity_tools/

Even cooler is the fact that iDeskCal is the #8 Top Download on all of apple.com/downloads!

It is ranked up there with iTunes, Safari, and above Google Earth and Firefox on Apple’s site.

iDeskCal has been downloaded (as of this posting) 10,617 times since Tuesday May 19th (less than a week).

Now lets hope that all of those downloads purchase after the free trial! :-)

(Click the images for a larger size where you can actually see it)

May 19

[prMac.com] Mesa, Arizona - HashBang Industries today is delighted to announce iDeskCal 2.0, a complete rebrand of their popular iCal-to-Desktop embedding solution, Desktop Remind. At its basic, iDeskCal embeds the users iCal calendar directly on their Finder Desktop, right above their wallpaper but below desktop items, making it a perfect choice for designers, freelancers or anyone who needs to keep up with their busy agenda.

Users can quickly and effortlessly know exactly what is on their calendar for the current day, and beyond. Among iDeskCal’s most prolific features is its ability to quickly add calendar events using keyboard shortcuts, as well as the ability to add and manage to-do lists quickly and easily. iDeskCal is user configurable, allowing users to place it precisely where they want on the desktop, as well as configure the font and font color to match taste and/or wallpaper. iDeskCal also plays well with multi-monitor setups too.

Feature Highlights:
* Embeds directly into the Desktop
* Configure Font and Font Color
* Add/Manage To-Do Lists quickly
* Keyboard Shortcuts
* Supports Multiple Monitors

“Desktop Remind was acquired from Code Genocide, and I’m very excited about the new version. It has a new name and icon to go along with a major overhaul of application” said Dallas Brown, founder of HashBang Industries. “We’re looking forward to a long and exciting roadmap ahead.”

Language support:
English, Spanish, and Portuguese

Minimum Requirements:
* Mac OS X Version 10.5 Leopard or later
* Universal Binary for PowerPC and Intel
* 2.6 MB Hard Drive space

Pricing and Availability:
iDeskCal 2.0 is priced at $12.99 (USD) via their online store, and available as a fully functional 14 day free trial. HashBang Industries is offering free upgrades for customers that purchased Desktop Remind in the last 2 months and is offering upgrade pricing for all other existing customers of Desktop Remind. Existing customers can easily retrieve their upgrade coupon code by entering their email address used to purchase Desktop Remind.



Located in sunny Mesa, Arizona, HashBang Industries is a privately held company founded in 2009 by Dallas Brown. With a focus on the Mac platform, HashBang’s aim is to develop unique Mac and iPhone products, complemented by first-class customer support. Copyright 2009 HashBang Industries. All Rights Reserved. Apple, the Apple logo, and iCal are registered trademarks of Apple Inc. in the U.S. and/or other countries.

May 16

On Tuesday of this week Nancy and Tyler were in a car accident in my Jeep.
Thankfully everyone was ok.

My Jeep on the other hand was not so lucky.
Granted it could have been much worse.

Found out the other day that it will cost about $6K to fix.
Luckily I have full coverage insurance on it, so our part will only be $600.
However, it will take a couple of weeks to get fixed, so until then we are down to one car and I am without my Jeep.

I am at happy that at least Nancy and Tyler were ok.






May 05

I have been offered a gig of being the Technical Editor for an upcoming iPhone programming book.

The book is called “Cocoa Touch for iPhone 3.0″ and is being written by my friend Jiva DeVoe and published by Wiley and Sons Publishing.

You can visit the current pre-emptive webpage for the book at: http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470481072.html

I was previously a Technical Reviewer for the programming book: iPhone SDK Application Development, 1st Edition

It will be interesting the see the differences between being a technical reviewer and a technical editor.

May 02

I was looking into how to do replication to another DB server in MySQL and I found a great step by step article.

I followed the step in the article and got replication working perfectly with no hassle.

If you need to setup 1-one replication in MySQL you should check it out.

http://www.howtoforge.com/mysql_database_replication