Sunday, January 17, 2010

Distributing modules

How should we distribute Yabasic modules?

We could explicitly separate modules from the Yabasic core, distributing them individually so that users could download just the modules they wanted from a central location such as yabasic.basicprogramming.org. For example, a user could download yabasic.3.*.*.tar.gz, yabmod-sdl.*.tar.gz, and yabmod-curses.*.tar.gz and then install each of these components separately; and if our user later required (say) a FLTK module, it would be a simple matter to download and install yabmod-fltk.*.tar.gz. I'll need to take a closer look at the technicalities behind all of this to see exactly how such a system would function, but I doubt it would be too difficult to implement.

The alternative is to actually distribute modules with the Yabasic core. This approach has its benefits: users would only need to download one file (yabasic.3.*.*.tar.gz) to get a "full" Yabasic. But there are also downsides; this "centralised" approach could quickly become cluttered and confusing, there would need to be a more stringent process for "officially" adopting modules, and users would find it more difficult to develop their own modules and share them. In my opinion, there's also a certain inelegance about it all: packing a bunch of source files together, each one written by a different author in a different style... maybe I'm just not pragmatic enough.

Which approach should we choose? I'll pass the microphone—or, rather, the comment button—to you.

0 comments:

Post a Comment

Note: Only a member of this blog may post a comment.