I'm rather end user than _real_ developer, but lastly I was doing
pretty much reading of m0n0 PHP code, trying to figure out what and
how it is done 'inside'. And this might be great advantage of this
system, that less scripting/writing/C++'ing people can also understand
how it works. There was some posts that already pointed this up.
Anyway, just like Manuel (thanks for great product!!!) said – there
really should be some core.:)
About operating system. At this point I think that original Manuel
choice was best and it should be FreeBSD 6.0 now. There might be
discussions, but some of the biggest vendors use modified FreeBSD (see
NOKIA appliances for Checkpoint, BorderWare, and others), and this
prove that it was good choice (and suppose to be also good in future).
Above all, I think that keeping m0n0 versions STABLE and very well
documented is best way for this system to become #1. There is a plenty
mini FW's that have 2-4 years lifecycle, but only best documented and
modular ones are really popular.
From my pointy of view:
1) Documentation and stability over all (….. oh maybe not over WLAN
and OpenVPN support:))
2) Follow the bests – FreeBSD seems to be trusted system, and there
are no sights for it to change.
a. There are some _unbeatable_ features in m0n0 like dummynet !!!
b. FreeBSD have good 'opinion' – sometimes it is synonym for secure +
stable, and this is what FW's are build for and what people seeks for.
3) I really like CPAN database. Since I'm not a developer I was still
able to create some advanced functionality basing on 'ready to go'
Perl modules. My vote goes to PERL for engine and processing.
At the end I would like to point at FWBuilder.org and similar
projects. They already have well done modular structure. Why invent
things from scratch, while there is plenty of proved working