Re: GerH source distro at hebbut.net: HOW TO compile/compare/merge for Bill et al

Paolo <[email protected]>
Newsgroups gmane.mail.spam.crm114
Message-ID <20080402215552.GI25908@localhost>
On Wed, Apr 02, 2008 at 12:22:22AM +0200, Matthias Kilian wrote:
> > penalties, for no good reasons.
> 
> Including a driver into a kernel doesn't harm people not using that

In a perfect (=bugfree, both hw+sw) world, that might be true. Not in
real world. Heck, how many times I've seen such'n'such generic driver, 
compiled in or as module loaded by default, usually always there because
 - you know, just in case ... - make the system hang.
But that's the kernel stuff.

> driver. Same for crm classifiers. If you don't use it, it can't
> harm you. If some classifiers are potentially dangerous, the question

not quite, sorry, that's too ingenuous. Experimental stuff is likely more
buggy - fancy macros, unintialized vars, weird #define, you name it - which 
might trigger a complier/linker bug so that to expose an exploit.
How about those heisenbugs? the more code you stuff in, the worse the 
situation when you go try to debug. 

crm114 was born as a monolithic lang.engine+classifier, but quickly became 
clear the modular/lib/plugin design is the way to go, as more classifiers 
were, are and likely will be added.

It took some time + efforts to break the once monolithic .c into the saner
.c collection we've now, let's not waste e-ink on another 
monolithic-vs-modular debate, which has the latter as the clear winner since
ages: think of *nix itself, Linux kernel, MACH kernel, PERL (what about a
176MB /usr/bin/perl with all cpan.org complied in, cool eh?).

Like *_t portbility salad, modular config / compile / run time (better)
(infra)structure is a missing feature - now we've a bunch of classifiers, 
but there are so many out there in the data mining realm - are we going to
consider modularization at the 15th? 23rd? what's the breakeven here?

Moreover, consider a cool RabOof classifier coded by Joe Crack, pity its
license, free or not, doesn't allow a merge into mainline, not even a 
bundled distribution; you'd get the crm114 code here, RabOof src there and
go glue&use them on your machines. No problems with modular structure
in place, as long as RabOof keeps in sync with API, but quite a mess with
current situation.

Consider crm114 packaging for distros, eg Debian: 
  old-mainline-hopely-stable_stable-only-stuff	-> 'stable'
  old-mainline-hopely-stable_everything-in	-> 'experimental'
  mainline-current_everything-in		-> 'unstable'
would be a matter of --config stuff, just like tre/pcre/posix.

> is wether they should be included AT ALL or wether there should be
> some prominent documentation that they ARE dangerous (i.e. probably
> buggy).

that's the point/usefulness of such main switch like Ger's 
 CRM_PRODUCTION_CLASSIFIERS_ONLY
which is like the Linux kernel's '[ ] experimental code' main config option.
Then you check the [stable/exper] kernel modules you wnat/need.
Likewise we'd need for crm114.

> So just document possibly broken classifiers as, well, possibly
> broken and dangerous.

ok, we've documented x y w z are unstable, experimental, buggy; now what?
if we've our modular structure in place, it's a matter of config choices,
else it's useless hacking on each and every release.

> 
> Just my 2p

and my 0.013 EUR

[sorry for the rant/blast, that'd be stuff for -devel, actually]

-- 
apolo

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.