I'm designing a program which will accept plug-in modules to support new protocols (Gnutella, FreeNet, probably not ELF) as they emerge and become popular.
Right now, it uses Windows COM technology to achieve this modularity. When I get a Linux computer (after I finish my Windows version of this program), I intend to port it to Linux using the Unix analog (CORBA) to achieve modularity on that platform.
Being an entirely self-tought programmer, I'm having to learn a lot (!!) to accomplish this (two dozen heavy books without pictures
), but I believe a program like this would be quite the Royal Shafting for the Man and the ultimate protection of information in an age where we must remain steps ahead of our potential oppressors.
Wouldn't it be nice to migrate to a new P2P protocol with only minimal changes in the User Interface of your program?