Posts in category: 'Open Source'

.NET Developers: Recommend Your Favorite Open-Source Projects Here

See Me Speak at VSLive Orlando 2008

After literally years of trying, I’ve finally succeeded in getting the VSLive folks to let me do a pure open-source talk at the conference. The talk is called Codeplex’s Greatest Hits. The idea is to take a bunch of different cool open-source projects and provide descriptions of them as well as working code demos. The talk is 75 minutes long, so I imagine I’ll have time to do quick demos of between 6 and 8 different projects, of which I already have three or four picked out.

In the spirit of open source, I’d like your help on this. If you’re a .NET developer and you have a favorite open-source tool, post a link to it in the comments. (The tool doesn’t have to be hosted on Codeplex, but it does have to be open-source.) It would help if you also explain why you like it, what you’re using it for, etc. It is totally OK to recommend your own project.

This talk will take place at VSLive Orlando, May 12-16. Once again, the good folks at the conference have provided a discount code for lucky readers of this blog; use the code SOMCM when you sign up for the conference, to get a Gold Passport for $300 off.

kick it on DotNetKicks.com

Google Makes Its Entry Into the Wireless World

Link: Google Makes Its Entry Into the Wireless World

"John O’Rourke, general manager of Microsoft’s Windows Mobile business, said he was skeptical about the ease with which Google will be able to become a major force in the smartphone market. He pointed out that it had taken Microsoft more than half a decade to get to the stage where the company now does business with 160 mobile operators in 55 countries around the world. ‘They may be delivering one component that is free,’ he said. ‘You have to ask the question, what additional costs come with commercializing that? I can tell you that there are a bunch of phones based on Linux today, and I don’t think anyone would tell you it’s free.’"

At first glance this quote looks like some spin put out by the incumbent to defend their business, but at second glance it makes you say "yeah…we’ve had open phones for a while now. What just changed? Is it even material?"

Google’s campaign to perform competitive jujitsu using the malevolently humming light saber of openness is nice and all, but it’s a fact that I can write an application for my Windows Mobile phone today without having to pay anyone any money or ask anyone permission. (I don’t think the same is possible for my wife’s RAZR.)

Update: Looks like Om Malik shares my skepticism; he’s asked some even more incisive questions.

Apache At 56%

Very interesting thread on Digg this morning called "Apache at 56% - what is wrong?" Apparently a number of factors are converging to erode the dominance of the Apache web server (which, as of two years ago, used to run 70% of web sites by some measures). Lots of interesting pro-IIS and .NET comments in the comments (the most vocal Unix/LAMP proponents seem to be embarrassingly out of date on the state of comparable Microsoft products — blinded, no doubt, by their rabid reaction to Microsoft businesses practices in the 1990s).

Several people pointed out that IIS today is very secure, performs well and is easier to configure (and the upcoming IIS7 adds a number of compelling features that bring it closer to feature parity with Apache). In discussions like this somebody always brings up the "free beer" argument (that Apache costs $0), but they neglect to mention that you can get the web server edition of Windows for just $300 now, and IIS/.NET is a more productive stack for developers by far. (I could easily burn more than $300 worth of time getting Apache configuration figured out.)

Cgen: Simplest .NET/MySQL Relational Wrapper That Could Possibly Work

Last week I attended and spoke at the MySQL conference. Some of the talks, particularly the ones that targeted system administrators rather than developers were over my head, but that’s useful information in itself — it serves as a reminder that sometime soon I’ll need to either learn the finer points of big-time MySQL system administrator or hire somebody who does.

It was particularly fun giving a talk on .NET to MySQL guys just two weeks after I finished giving a talk on MySQL to a room full of .NET guys. It was also fun seeing my client Alfresco and hanging out with them in their booth, where they were doing demos and fielding lots of inquiries.

I’m just now getting around to firing up the blog-o-matic in earnest after four weeks of more or less non-stop conference-going, but I wanted to mention that I’ve released the tool that we use to create the data access layer. It’s called Cgen, and it lives here.

The idea behind Cgen is that you create an XML document that represents your database schema, and Cgen (which is packaged as a command-line tool written in C#) spits out a bunch of classes that make it easy to do the basic create, read, update, and delete operations that represent 80% of all database-driven applications. (For the remaining 20% of the data access code you’d need to write, the tool generates subclasses that you can add your own code to.) You can then compile these classes as a .DLL or, if you’re making an ASP.NET 2.0 web application you can just dump the classes into the application’s App_Code folder and .NET will figure out how to compile the classes.

We use code generated by Cgen as our data access layer for Approver.com. It has worked splendidly and saves us a bunch of time. At the same time, Cgen doesn’t have a ton of bells and whistles. I realize that this is probably the one millionth object/relational code generator in the history of software development. I took a look at other object/relational mappers like SubSonic, and I used NHibernate on an intranet project I did at Yahoo in 2005. But for Approver I wanted a tool so simple that you didn’t spend more time learning the tool than you would have spent writing the code yourself. I also needed something with good support for .NET 2.0 and MySql (which was difficult to find in March 2006 when I started using MySQL).

Adobe Open-Sourcing Flex

This is exciting: press release here, developer info here, FAQ here.

When Flex first came out a few years ago, there were mutterings that they’d provide support for languages other than Java — maybe open-sourcing the SDK will open the door to making that a reality (particularly in light of what Miguel said the other day about Flash and Silverlight).

Miguel de Icaza on Silverlight, Flash and Open Source

Link: Microsoft Happenings - Miguel de Icaza.

"Lacking a viable open source-based competitor today for rich media delivery on the web and given the current state of both Flash and Silverlight, it is in open source’s best interest to ensure that Flash gets ahead of the competition."

This makes sense to me thought I suspect it will be hotly debated in the open source community because of open source’s historical hostility toward Flash. But there’s nothing like a new Microsoft initiative to get open source developers to change their minds about their sacred cows.

Rob Conery Wants Your Questions about Microsoft and Open Source

Rob heads up an open source product called Subsonic; he’s been invited to speak on a panel at Microsoft’s MIX ‘07 and he’s asking folks to pass questions along pertaining to Microsoft development and open source that might be useful to discuss on the panel.

It was most excellent to see that Miguel de Icaza will also be speaking on the panel (even though, regrettably I won’t be at MIX this year so I won’t get to attend this panel). In years past Microsoft banned all discussion of Mono from the allegedly community-driven portions of its Professional Developer Conferences, so it’s neat to see that Miguel will finally be given a soap box now that his employer and Microsoft have achieved a rapproachment.

Update: Video of the session is now online here.

Patent Fights Are a Legacy of MP3’s Tangled Origins

Link: Patent Fights Are a Legacy of MP3’s Tangled Origins

Microsoft says it was doing the right thing: paying a German rights holder $16 million to license the MP3 audio format, the foundation of the digital music boom. Then an American jury ruled that Microsoft had failed to pay another MP3 patent holder, and slapped it with a $1.52 billion judgment.
But the MP3 toll gates do not end there.

The confusion stems from the number of companies and institutions — including Thomson, Royal Philips Electronics and AT&T (through Bell Labs, now part of Alcatel-Lucent) — that worked to create the MP3 standard almost two decades ago. The patent claims of those and others are increasingly being backed up by aggressive enforcement efforts, including lawsuits and even seizures of music players by customs authorities.

This situation is a mess but the story completely biffs it by failing to mention that there’s a free alternative to MP3. The fact that only twelve people use it is beside the point — It’s as if the reporter did a story on a mass-suicide without asking why all the nice people killed themselves.

The situation with MP3 patents is a very interesting counterpoint to the way that Microsoft has attempted to taint open-source over the years. In the past Microsoft argued (speciously) that there was huge risk for businesses that permitted to let open source anything come within 100 miles of their code base. Now we find that the real threat is not open source but software patents, and, ironically, the biggest victim may be Microsoft itself.

The New Science of Sharing

Link: The New Science of Sharing.

"According to researchers, there are far more leads than any one lab could possibly follow up alone. So by placing its data in the public domain, Novartis hopes to leverage the talents and insights of a global research community to dramatically scale and speed up its early-stage R&D activities."

Alfresco Releases 2.0

Alfresco is an enterprise content management system that also happens to be open-source. Today they came out with their 2.0 release and changed their licensing — they’re now fully GPL. You can read details about the release on John’s blog or download the bits yourself here.

I just started advising these guys so the timing couldn’t be better. I’m looking forward to coming up to speed on the new release.

A MySQL IPO in 2007?

Link: GigaOM » MySQL prepping for an IPO.

"Long a favorite of web developers, MySQL saw serious growth in 2006 and added 2,500 new customers, and also introduced MySQL Enterprise. There seems to be a renewed interest in open source IPOs….For starters, the corporations have taken a shine to the open source3 software.

Secondly, most companies with IPO dreams have been around for a while and have been able to build solid businesses around their offerings."

This is very good news for our friends from Uppsala and for open source businesses in general. For years the database market has been ripe for disruption and now it seems like MySQL is approaching a serious tipping point. I’ll be watching this closely.

John on BBC

In a completely bizarre coincidence, John (my wife’s brother) was interviewed on the Beeb about his open-source content management system, Alfresco. I got a recorded version of the interview as a podcast; John’s quote is about 10 minutes in.

This is the second close friend/family member who has been interviewed about their open source product by the BBC in the last week. It is as if the BBC suddenly went bonkers for open source and rifled through my rolodex to find people to interview.

Radio goes the open source route

Link: Radio goes the open source route

Developer Douglas Arellanes told BBC World Service’s Digital Planet programme that as well as playing files, which can be done from any media player, Campcaster adds features specifically for radio broadcasting and uses it for all aspects of a radio station, such as the ability to stored and schedule music, line up news clips and interviews, and preview listen to a record before it is played on air. "You can now pretty much run your radio station off a notebook computer," he said.

Speaking at VSLive in March

I am extremely excited to be making my hopefully-triumphant return to the VSLive conference in San Francisco in March.

I started speaking at VSLive in 1997 (back when it was called VBITS). I spoke at most of the VSLive conferences in the U.S. in Europe through 2001 when I went to work for eBay. I even took time out from my honeymoon in 2000 to speak at the VBITS conferences in London and Stockholm (you can imagine how difficult it was to convince my fiancee to add two European capitals to our trip).

VSLive has been one of my favorite conferences to speak at for a couple of reasons. One is its practical focus — it’s about getting things done in the real world instead of talking in grand strategic terms about what technology means, etc. I also really like the mix of Microsoft insiders combined with the regional directors and other consultants — it seems to keep the agenda honest and grounded.

I’ve also made some great friends over the years at these conferences, particularly Andrew Brust (who I met at VBITS Berlin in 1997, the night before he was carted off to the hospital after suffering a fall onstage), Chris Kinsman, who I co-authored two books on ASP.NET with, and Deborah Kurata, who I had an extremely productive working relationship with for a few years in the late 90s.

I have been pitching talks on open-source tools to VSLive for a bunch of years. In 2001 I tried to get them to let me do a talk on NUnit. I was really passionate about unit testing around this time and I was crushed that they didn’t have room for my talk on the schedule that year. Unfortunately, a lot of Microsoft platform developers didn’t get unit testing religion until a unit-testing tool was included with Visual Studio four years later — and only then if you shelled out the big bucks for Visual Studio Team System. NUnit is still a great tool, by the way, and it’s 100% free — I still use it and highly recommend it.

Anyway, I’ve been spending a lot of my time in the last five months coding an ASP.NET application using MySQL, so I figured it might make sense to share what I’ve learned about the pros and cons of MySQL with VSLive attendees. So I’m delighted to announce that my March VSLive talk will be on Programming MySQL with .NET.

I am not sure if this is the first VSLive talk to cover an open-source product, but I am pretty sure that it will be the first MySQL talk at VSLive, which makes it infinitely more exciting for me. I am going to bust my croutons to make this talk as good as the ASP talk I gave around 1999 (in which I demonstrated a common security flaw in ASP and three or four people in the audience unexpectedly jumped up, opened their cell phones and ran out of the room in a panic — that was pretty fun).

If you’re using MySQL with .NET, or you’re just interested in learning more about it, I’d love to hear your feedback and suggestions in comments. My plan is to cover the basics of a data-driven app using ASP.NET and MySQL, hit some of the subtle syntactical differences between MySQL and SQL Server, and then cover some goodies like MySQL stored procedures. If there’s something else on that list you’d like to see, let me know.

Adobe and Mozilla

Frank Hecker of the Mozilla Foundation has an excellent long post with details on what Adobe is committing to open source.

It sounds like this is going to be good news for Yahoo! Widgets developers, since Y! Widgets uses SpiderMonkey, and (according to Frank) future versions of SpiderMonkey will benefit from the performance enhancements provided by the virtual machine technology that Adobe is open-sourcing.

eWeek: Windows + Open Source = Goodness

From eWeek:

"Enterprise IT managers shouldn’t hesitate to look into the option of deploying open-source stacks on a Windows Server platform. For some businesses, this will truly be the best of both worlds."

I’ve always been intruigued by the possibilities of using open-source tools on Windows. Early on I was a huge fan of development tools like NAnt and NUnit, and this year I’ve spent a lot of nights and weekends getting up to speed on MySQL (which works fabulously on Windows Server 2003 and Windows XP). It seems to me like there’s a chasm between between Windows developers and open-source tools and technologies built to make their lives easier, which always seemed like a pity to me.

John Makes the Cover of InformationWeek

John_infoweek_cover_150x203Big congrats to John for making the cover of Information Week. In addition to being my brother-in-law, he’s the co-founder of Documentum and he’s now the CTO of Alfresco, an open-source content management system that just released their first technology preview.

Delivr: Web Postcards Using Flickr Photos

Delivr is a cool new Web toy that lets you send postcards to your friends using Flickr photos.

It’s most excellent if you’re into the postcard thing, but it’s even cooler when you think of what’s behind all this — a boss API combined with some thoughtful attention to the intellectual property aspects of reuse (all the photos made available by Delivr are provided to the community by their authors under a Creative Commons license, so it’s 100% on the up and up).

Charles, the author, goes into more detail on what’s behind Delivr on his weblog. He says that the vast number of photos on Flickr might make Delivr "the biggest ecard site online."

How To Document Your Open-Source Tool

I’ve been poring over the documentation of various open-source tools for the past few years and have collected some thoughts on the subject. All these things seem (to me) like they should be no-brainers, but I see these things come up again and again and it’s maddening to me. I desperately want to like a project, but then I see there’s no documentation and I think to myself "I’ll take another look at this in eighteen months, maybe."

For all the technology we have at our disposal, people still like to read words strung together in the form of sentences. They do this to learn about what you’re working on. If you don’t have the ability or the patience or the skill to string together sentences, make friends with someone who can, and imitate them. (Step one involves reading a lot.) Failing that, try your best to do your own documentation, no matter how much you know your efforts suck, and get the input of someone who can edit well and give you constructive feedback. I’ve written and co-authored six books and I’m still in awe of some of the editors and other writers who influenced and helped me.

Here are my rules:

First, if your open-source application does not have documentation, or if the documentation is so sparse as to be useless to someone not intimately familiar with the inner workings of your application, your application is not done.

Second, every software product evolves over time. This is why they call it software (as opposed to carved-into-granite-wear). But the documentation, paradoxically, must describe the state of the software at a single moment in time. Do not get wrapped around the axle describing the fifteen-year history of your product, or how it will work when the next dot-point release comes out. Describe how it works today.

Third, the source code is not the documentation. This is the same thing as saying that because you have a stack of DVDs containing the raw output of the human genome project on your desk, you have a good sense of what your next-door neighbor wants for lunch.

Fourth, if you are using an online group authoring tool such as a wiki (etc.) to create your documentation, great. You still need editing. You still need organization. You probably need an index and a table of contents unless your documentation is incredibly brief.

Fifth: Online browsing is not sufficient. You will need a way to let me download your documentation. You need a way to let me commit your documentation to dead trees so I can read it on a bus.

Sixth: However you choose to author it, your documentation should not contain markup, embedded comments by anonymous users, emoticons, or misspellings.

Seventh: Separate yourself from your agenda and focus on what’s useful. Feel free not to cover 100% of the functionality of the system in the first five pages of your documentation. Have the courage to say what sucks about your product. This is one reason why the best technical books on commercial software are often written by people outside the company. I can think of a few open-source tools where people who were very close to the project didn’t write the best book on it.

Eighth: Make it very easy for users of your documentation to provide feedback, and be gracious when they do so. Do not reject feedback because it doesn’t conform to your paradigm in some petty way. (A few years ago I volunteered to write complete documentation for a little tool that shall remain nameless and the owner of the project said "oh, sure," and proceeded to insist that I begin by hacking up a buttload of XML documents that he’d painstakingly been cobbling together, and that there was no possible way that anyone could contribute to the documentation effort in any other way because to do so would invalidate his incredibly complicated build script. Um, no.) Microsoft figured the feedback thing out in a big way in the last few years — every page of the .NET Framework SDK documentation has a contextual link that lets you submit a documentation bug, and if you submit a docs bug, you get a "thank you" from a real live person in email within a few hours. This is important because it lets the bug reporter know they’re being listened to, which makes them more invested in the tool, which makes them more likely to contribute bug reports in the future.

I’m sure that five more rules will occur to me as soon as I hit the Save button.

Firefox Going Completely Mental

The folks behind the open-source browser Firefox will take out a full-page ad in the New York Times to promote their browser after soliciting donations from the community. In 10 days, 10,000 members of the community donated a total of $250,000 to fund the campaign. Amazing.

This is one part of a bigger marketing campaign they’re doing to promote their launch, but it’s already safe to say that these guys are writing the book on how to market open-source tools.

The browser is approaching its official 1.0 release. It’s well worth trying if you haven’t done so already (download here). I’ve been using it as my default browser for quite some time now and I find I’m much more productive with it.

Next Page »