Scripting News for 9/20/07

Calacanis at Gnomedex 

Here’s a video, released today, of his much-discussed talk at Gnomedex in August.

Could Google buy Yahoo? 

In a comment yesterday on Marc Canter’s blog, discussing the race to be the default identity system for the Internet..

“I wouldn’t count out Google, they’ve got a lot of users, and a lot of money. I think they could probably buy Yahoo, but someone else would have to do the math.”

Ashkan Karbasfrooshan did the math. 🙂

How to sponsor an open source project? 

I’m looking for ideas, established practices, do’s and don’ts for sponsoring an open source project.

An upfront caveat — this is not an actual offer. It’s totally hypothetical. If I make the offer it will be done in some other more formal way.

The project: I want the OPML Editor to run on Linux.

I don’t want to hire someone to do this project, rather I want to offer a reward when the project is completed.

The source code is already released under the GPL, in versions for Mac OS X and Windows. Of course Mac OS is a flavor of Unix, but the internal API is quite different, I imagine, from Linux. I’m not looking for elegance, I’m looking for functionality. I don’t care how the port is done, just that it be maintainable, and then be released (of course) under the GPL.

Personally, I think the most likely way to get this done quickly is to compile the code under WINE, using the Windows version of the code, and then go back and connect up the Unix system calls, so that all the Unix related verbs work. (Note the OPML Editor is actually a rich programming environment, despite its diminutive name. It’s an instance of UserLand Frontier, which goes back to 1988.)

To me, it would be worth $10,000 to have the OPML Editor running reliably on Linux, because then all the projects I’ve built and am building would then automatically run on Linux. Now I’m not saying that the project can be done for that amount of money (it’s possible that it can), but I also don’t feel I should be the only person funding the project. And maybe it’s enough of a prize to incentivize someone or a group to do it.

Now, of course, I see problems. Since it’s an open source project, how will I know who to give the reward to if the goal is met. It might be the result of the work of a group of people. If so, I think they would have to figure out among themselves how to split the reward. On the other hand, I don’t see any movement right now to port the codebase to Linux, so maybe if someone is interested in the project, you should do it on your own, and just present the results. If it works, then it seems you would be entitled to the reward.

I seem to remember people proposing groupware systems for creating these kinds of projects, a few years ago. Not sure if they came to fruition, for all I know there could be an eBay for open source programming projects. If you have any information to share on this, please post a comment here, and thanks in advance.

Postscript: Jim Russell makes an excellent point. “If you had a third choice on the download page, making the source as widely distributed as the app itself, you would have had a port a long time ago.” Maybe so. Let’s leave no stone unturned. I have added a link to the source on the download page, per his suggestion. Also here. And in today’s comment thread. And in the sidebar on the support site. BTW, there’s also a source listing site that’s indexed by search engines.

Amazon on how to get by DRM 

Amazon: “Many of our customers have already discovered that one cheap way to get DRM-free MP3s is to buy them on CD and rip them themselves.”

Here’s a screen shot.

It’s common-sense advice, but still somewhat remarkable that they’re addressing the issue of DRM right there on the home page. It could be that I’m seeing it and you’re not (possibly because I just bought a Linux hand-held computer from Nokia). It’s hard to tell.

Here’s their guide to ripping CDs.

36 responses to this post.

  1. Here’s a site that may help in some way – or give ideas:

    http://micropledge.com/

    Reply

  2. I think it’d be cool if the OPML editor was written in pure Javascript and could load and save from an HTTP accessible server or the filesystem (via google gears and/or Adobe AIR). Then the same codebase would run on any system with a modern browser.

    Reply

  3. A couple of links, although I haven’t tried any of them myself.

    http://sourceforge.net/services/buy/index.php
    http://www.opensourcexperts.com/

    Maybe you could model it on the Google Summer of Code project?

    Reply

  4. Why not pick an open solution that is cross-platform? An implementation in Java should be very straightforward and it is probably entirely possible to do a browser based solution as well with AJAX/DHTML/WebDAV parts.

    I know most of the required widgets are already present in SWT. Can’t speak directly to how easy a client-side solution would be in Javascript, but it can’t be too hard.

    For managing it, I’d suggest Google Code. SourceForge is a bit long in the tooth in its toolset now.

    Reply

  5. It would be really ineteresting if the OwnerID element on OPML spec had an optional “type” attribute.

    The default if “type” were omitted would be a human readable page, but it would allow for OPML to integrate with the growing Identity movements.

    Reply

  6. If you had a third choice on the download page (“Download source”), making the source as widely distributed as the app itself, you would have had a port a long time ago.

    Make the source not just available, but *obviously* available.

    Reply

  7. “I don’t want to hire someone to do this project, rather I want to offer a reward when the project is completed.”

    As a developer (who works on a relatively large OSS project), this rubs me absolutely the wrong way. It basically sounds like you’re trying to hire a contractor, but without the initial down payment.

    If you’re truly interested in getting this to work, the most important thing you can do is to establish a site with a wiki and a forum which will allow for developers to come together to try to work on this. I wouldn’t even bother with offering a bounty on it – if people see a real value in porting, they will port for free (as long as the code gets re-released under LGPL or some other OSS license). Putting the money value out there will just attract the people who are in it for the money.

    Of course, after the whole project is completed, you want to donate to the developers’ coffers (some beer money), that really is a different thing 🙂

    Reply

  8. use QT (open source version) instead of WINE.

    Reply

  9. +1 to the wiki idea

    More documentation of both the Editor’s internals, and functionality would definitely be a good thing. And right now there doesn’t seem to be a public space where people can congregate to learn more.

    My current project : GeekWeaver is fairly commited to OPML, and I’ve started to realize I’d like some tighter integration between the editor and my compiler. Eg. having a menu option in the editor which would call the compiler directly rather than having to run it from a batch file in an external shell window.

    I imagine this is actually pretty straightforward : a short script + a new menu item. But I have absolutely no idea how to write this or where to start looking for information.

    I’m sure with more docs for scripters you’d grow the OPML Editor platform and, in turn, attract more interest in porting, maintaining, and improving the underlying code-base.

    Reply

  10. Jim Russell, that’s a very important point and a good idea. I’ll add links to the source downloads in several places, on today’s scripting.com, on the download page for the OPML Editor, and right here

    Reply

  11. Phil Jones, adding commands to the OPML Editor’s menu structure is something that could easily be done, without modifying the kernel source code.

    I think putting up a wiki is a great idea. I would write for the wiki, but I can’t take responsibility for maintaining the wiki. I have a lot of the know-how of the OPML Editor and Frontier locked up in my head, my best contribution would be to write that stuff up, rather than manage the wiki itself.

    There are also lots of docs scattered around userland.com and scripting.com.

    There is also a Sourceforge working group, but I don’t know what they’re working on and in the past they haven’t welcomed contributions from me, so I’ve mostly stayed away.

    Reply

  12. Chuck, as I mentioned in today’s post, I have a lot of code that runs on top of this kernel, and I like to program in it. I don’t want to switch to another environment. I’m 52 years old, and this is probably the last programming environment I’m going to use. And I’m arrogant enough to believe that my work is good enough to justify moving the environment to Linux so when I get my new Nokia that runs Linux there’s some hope that the new stuff I’m working on will work on that device. Aside from that, I seriously doubt if any of the other environments can do what this one can. (Like I said, I have a certain amount of arrogance. 🙂 )

    Reply

  13. deusx has a project for converting the opml community server to php – does that help? http://decafbad.com/trac/wiki/OpmlServer

    Reply

  14. Posted by Bradley Peters on September 20, 2007 at 3:05 pm

    I don’t have any good suggestions, but just wanted to comment that I like the OPML Editor and would love to see it on Linux too. To me that would be worth some money although I don’t have $10,000 to contribute.

    I wonder if the people involved in the open source foundations (like OSAF or Mozilla) might have useful suggestions? Unfortunately, I have no idea how you might get them interested.

    Reply

  15. I tried it under current Wine, and filed a first bug:
    http://bugs.winehq.org/show_bug.cgi?id=9727

    Reply

  16. Posted by David Mercer on September 20, 2007 at 6:28 pm

    You don’t compile under Wine, you run windows binaries under it. But you have to tell users what dll files they may need to copy into their Wine installation, and what Wine settings they need to run it.

    The MSHTML problem listed above at the bugs.winehp.org setting sounds like the Microsoft IE html component. Ouch.

    Reply

  17. Posted by Carl Anderson on September 20, 2007 at 7:16 pm

    I’m also curious about the Java option. This has sometimes been employed by cross-platform developers who want to support Linux on the cheap. It also could allow the product to be used in new and unexpected ways.

    dsanvita’ s idea seems the most contemporary, although I’m curious what dave thinks. I’ve used Ubuntu in the past, and a lot of times people expect that I’m starved for software and functionality. The truth is that I do so much stuff through FireFox that I don’t care about native apps. Native applications are, in themselves sort of an antiquated idea. They’re the apps that can’t run though the browser(yet). For example, a Flickr uploader is a critical native app, but the “program” that allows me to organize my photos is Flickr.

    I think I’ve just talked myself into the idea that a native Linux version is a weird idea. Linux native APIs, QT, GTK+ get messy and I’ve never really expected programs to run properly under WINE. I expect stuff to work in Firefox though, because it has feature parity with the rest of the universe.

    Reply

  18. Use xulrunner. You can write the app in XUL + JS and deploy on any platform Mozilla supports. Also, you get for free the gecko HTML rendering engine.

    For examples of software using xulrunner, check out miro and songbird.

    http://www.getmiro.com/

    http://www.getmiro.com/

    Anything that can’t be done with pure JS can be done in C++ and registered as XPCOM, you can then call into this using JS. Another option is to write your code in python instead of JS.

    http://developer.mozilla.org/en/docs/Building_XULRunner_with_Python

    I have done some projects this way, email me for some more info if you like.

    Reply

  19. Oops, paste problem, songbird is at:

    http://www.songbirdnest.com/

    Reply

  20. FWIW, I got a fair way through writing a UserTalk-to-PHP compiler a couple of years ago, to port webOutliner, the idea being that you could keep developing in UserTalk on Frontier then deploy to PHP later on.

    No clue where I left the code, but I’m sure I’ve got a copy around somewhere, if you can convince Marc to let go of it (as it was written on BBM time)!

    ‘course, this will only get you UserTalk-on-the-web, not the desktop OPML editor, which you probably want too 🙂

    Reply

  21. For suggestions on getting someone to port your application.

    1. First get it into public source code repository.
    2. Make a formal offer of a bounty for the porting of the code.
    3. Allow people to “register” which is to state their intent to port the code.
    4. Only registered developers can send you an email with the ported code and expect to get the bounty.

    If you need to accept donations from your users to sponsor the port, then do that. Ask your users to donate money to go into the bounty fund.

    Also, you may break this process into multiple steps for sub-bounties.

    $200 to whomever can get it to run under Wine. No code porting here, just putting the .exe on Wine and seeing if the Wine API is complete enough to run it.

    $1000 to whomever is able to compile a standalone version that runs without Wine (hint, link it to Wine libraries).

    $1000 to whomever can eradicate the Wine libs.

    etc.

    Reply

  22. Also, if you use MSHTML for rendering, there is an alternate Windows (TM) way of embedding a browser. This method works with Wine by using the gecko engine in the background. This is used to get Steam running (the Valve content distribution software you must run to play their games).

    There is some info here:

    http://appdb.winehq.org/appview.php?iVersionId=1554

    Looks like this can be used to supplant MSHTML under Wine :-). Gimme $1000 and I will get it running under Wine :-).

    Reply

  23. Wine — which runs x86 code in a wrapper on another x86 OS — is absolutely not what you want to be looking at if you want to run code on a Nokia 800.

    Reply

  24. Hi Dave,

    There is a lot of evidence that bounties in open source are kind of counter productive (for example the GNOME project tried this for a couple of years and it caused more issues than the cool code that was created). Stormy Peters gave a talk about this at GUADEC 2007 (we’re working on getting the videos processed and out on the net RSN).

    Paying a contractor or offering 10K as a bounty might get the code ported in the short term, but will not guarantee the Linux code will stay up to date with the Mac and Windows codebase. In other words you might find that you have to spend another 10K in a couple of years to get the Linux port to ‘catch up’ with the mainline.

    My advice would be to try and grow and encourage a community around the project and in particular porting it to Linux (which you’ve obviously already started doing). Providing documentation, source code management, mailing lists, IRC channels, and anything else that can lower the barrier of entry to a developer ‘having a go’. Once someone tries then simply providing feedback and encouragement can go a long way. If you can get a community built around it (even if it’s only a handful of people) then the Linux version will stay current and have a long term future.

    As to the 10K then you could use some of it to buy good contributors stuff off their Amazon wishlist (or similar) as mini thank you’s but honestly the best way to spend it would be once a community has formed arrange a meetup at some event (or just create your own OPML event) and take them out for dinner and beer (or wine or whatever – you get the picture).

    My friend Jono Bacon is the community manager for Ubuntu and he’s given some talks about community building that might be on his site: jonobacon.org.

    HTH, Paul

    Reply

  25. WINE can run Windows software in two ways:

    1) WINE can run native Windows binaries. Frontier sort of limps along in this environment right now.

    2) WINE can be used as a library in “native” Linux applications. In this mode, it provides Win32 API calls alongside all the usual Unix APIs.

    I’d love to see Frontier running under Ubuntu.

    Reply

  26. @dsanvita: I’ve got a lot of parts to implements a browser-based OPML Editor, initially named XoxoOutliner [1]. There’s a lot of work yet to do, but I wanted it to speak both XHTML-style outlines as Xoxo and OPML outlines.

    The problem is, though, there’s just no substitute for a desktop app in terms of speed and integration with the rest of your system. I keep going back to the original OPML Editor and other tools on my desktop for this reason.

    [1] http://decafbad.com/trac/wiki/XoxoOutliner

    Reply

  27. Good timing on the Linux porting.

    Ubuntu Linux 7.04 is the first Linux I can dual-boot on my Toshiba laptop and actually get everything (wireless net, wired net, sound, video, Windows shares) working within a weekend. 7.10 will be here shortly. Linux is becoming doable for a larger chunk of the world, esp. Windows power users who have no interest in Shmista.

    stan the non-linux-geek

    Reply

  28. @Mike: That PHP-based OpmlServer of mine is not really usable, being just an initial stub-out of the requisite calls from a perusal of the OPML Editor source code.

    Though, if it got any interest I might work on it again along with XoxoOutliner. I *have* been able to successfully tie my outliner in JavaScript via XML-RPC calls enabled via XmlHTTPRequest to an OPML Community Server – just not in any form that anyone not as weird as me would care to use.

    Reply

  29. The big thing that’s interesting about the OPML Editor – beyond it’s nature as a “mere” outliner – is that it bundles a full lightweight web app server and outline-based hashtable storage system behind the scenes. It’s basically Frontier, now open sourced and free.

    Reply

  30. Dave and All:

    The Frontier Kernel project has a wiki with some great info:

    frontierkernel.org

    Most of the developers working on that have done so with the focus of preservation of their particular environments and production Frontier usages.

    A secondary idea: a Firefox plugin UserTalk interpreter

    Final note: Frontier/OPML Editor/Radio UserLand is more than a scripting language environment. It’s a complete runtime with threading, job scheduler, database format and plugin architecture. It’s what people want today but it’s been around for 15 years and *still* runs well on Windows and Mac. It’s worth the time for a senior programmer to look at the code for a day and see what they can do to help.

    HTH

    Steve

    Reply

  31. Posted by Ben Kimball on September 21, 2007 at 9:28 am

    I’m surprised no one has mentioned bounty source yet. I don’t have any experience with it — maybe it’s a scam, for all I know. But when you say “offer a reward,” it immediately pops to mind.

    Reply

  32. Posted by Randy Wallace on September 21, 2007 at 11:53 am

    http://www.launchpad.net/ is an open source site based on team collaborative projects. It hosts Ubuntu and Jokosher, the program the formerly mentioned Jono Bacon is leader of. I don’t know if they have an official bounty system. Since it is now, and is going to be, GPL, I can’t imagine a problem with offering a bounty.

    Launchpad enforces Version Control via ‘Bazaar’, which means that your collaborators could be making small changes separately, all working towards a common goal.

    A bounty offer on the project’s main page could entice Launchpad members to take a look. Perhaps, since many people might make contributions, you could, when it’s complete, look at all the revisions and contributions, and decide what percentages of the bounty to hand out.

    Reply

  33. Having skimmed some of the back and forth around the Gnomedex thing, it was enlightening to see the actual event. I found the whole thing thought-provoking, especially the “dogpile on Dave” attitude that seemed to happen.

    I tried to capture my thoughts in a post on my little blog:
    http://www.obsessionwithfood.com/everything_else/2007/09/winercalcanis-brouhaha.html

    Reply

  34. Hello all,

    Dave Winer said… “There is also a Sourceforge working group, but I don’t know what they’re working on and in the past they haven’t welcomed contributions from me, so I’ve mostly stayed away.”

    Dave as one of the admins for the project and a main contributor I have always encouraged you to contribute. There has been some friction between you and some members but please don’t characterize that as the whole group doesn’t want your contributions.

    Folks there is indeed a SourceForge project which should contain the OPML Editor 10.1a8 source ( or pretty close to it ) in a tagged branch. As well as Frontier, etc., which is the application which the OPML Editor sprang from.

    Also there is a Yahoo discussion group where most of our discussion occurs.

    We have talked about a Linux port but currently the right people aren’t on board to make it happen! We’d happy to have folks work with us to get a Linux version into people hands.

    Dave, thanks for bringing this idea up!

    Toodle-loooooooo………
    Thomas

    Reply

  35. Thomas, every time I tried to participate, I got flamed.

    So please, don’t interfere with the work I want to do.

    Reply

Leave a comment