index.html

 

Developer FAQ
Developer Resources
Support Requests
Feature Requests
Development Team
SDK Docs
Back To Main

 

 

Developer FAQ

 

General Topics Writing Plugins Modifying The System


 

 

 

1. Can I help to develop code for BO2K? I've heard it's open source.

    Yes you can, and yes it is. You can develop whatever you want to extend the BO2K system. You can develop plugins, or you can extend the server by modifying the server code directly. Feel free to enhance the client. We only ask one thing: Let us know what you develop, and send us copies of the source so we can consider putting it in the cDc Official BO2K Distribution. Also, try to develop what you're thinking of as a plugin so others can use your enhancements easily.
2. What was BO2K written with?
    BO2K was written using Microsoft Visual C++ 6.0. It has not been compiled with any other compilers, but changes to the codebase to support other compilers are welcome. One thing we would love would be for someone to port the system to use CYGWIN or some other free Win32 compatible compiler. Lets try to make this project as FREE as possible.
3. What needs to be done?
    We'd like to have a lot of enhancements to the client interface. Probably a better 'BO2K Neighborhood' style connection manager. Also a multi-user authentication plugin, supporting different privilege levels for different users, and perhaps a way to handle password authenticated connections that doesn't require storing the password in the registry via the client in order to operate. BoPeep could use some enhancements too, to increase its performance, and put it on par with tools like VNC. And we're always looking for skilled cross-platform clients to create clients for all other platforms and architectures.
4. What can I do to help?
    You can get the Plugin SDK, and/or the BO2K source tree, and start learning about writing plugins. Practice, get to know the system, and when you feel like contributing, please do! This is an open source project, and we'd like to harness this to make BO2K an amazing platform for remote administration.
5. Will things I write make it into the cDc BO2K distribution? Will they be linked off of this website?
    Possibly. We're setting our standards relatively high. If we don't put your code in the distribution, don't feel bad. We're only accepting changes in this distribution that make for the most generally useful remote administration tool. If you want to modify the BO2K server to have automatic hard-drive formatting capabilities, or do really obscene malicious things to people, you'll have to make your own distribution.
6. What are the licensing terms? Is this GPL or something else?
    It's primarily GPL. The compiled, distributed product, is governed by the terms of the GNU Public License. The source code, is also GPL'd, but some parts of the distribution are not covered by the GPL. These things include sections that were not written by the Cult of the Dead Cow, and were included with their original licenses intact. Particularly, we've made the source distributed in the Plugin SDK not governed by the GPL. This way, commercial, non-open-source plugins can be developed for BO2K as well as free ones. Try to write free plugins, though, since the world needs good free software. The BO2K distribution itself will always be GPL, and hence, always free and open-source.
Back to top

 

7. How do I get started writing a BO2K plugin? Where's the SDK?

    Get started by downloading the Plugin SDK, and referencing the SDK Docs on the BO2K website's Development section. There's a full hyperlinked HTML reference for every function, class, typedef and struct used by the Plugin SDK. Refer to the sample plugin in the SDK, but don't feel you're limited to what it does (which is very little). Plugins can be used to extend EVERY PART of the BO2K system. Also, check the tutorials on writing simple BO2K plugins for a quick start.
8. Can I write commercial plugins and sell them?
    Yes, you can. But do the world a favor and try to make it open-source/GPL, shareware, or freeware. We'd like to see more open-source software available.
9. How do I publish a BO2K plugin once I've written it?
    Put it up on a website. Send mail to the BO2K authors with the URL of where it can be downloaded. If you want us to host it for you, we will. If we consider your plugin worthy, we may propose you to have it hooked to our source tree, and we will provide you some storage space for that plugin's documentation.
10. What kind of plugins can I write? What are the restrictions?
    You can write plugins to do pretty much anything. If you write strong encryption plugins, be aware of U.S export restrictions, if you live in the United States.
Back to top

 

11. What about the server and client source code? I want to make an addition.

    Download the entire source code distribution. Modify it, and send in your diffs. in any way you can. We prefer diffs. in unified format, but we won't complain if you just send a text file with the lines you changed. Preferably, provide us with some descriptive text describing how and why did you do such changes.
12. I want to make my own BO2K distribution, where do I start?
    Well, first, make sure that this is really what you want to do. Maintaining a distribution is a lot of work, and if you can just submit your changes to the cDc distribution, please do so. We want people to come up with specialized distributions. We do not want people to make distributions just because they can, and because they want to have their ugly little hacker handle all over the client and so they can stick ASCII characters in it all over the place. Having too many distribution of software running around, makes for a dilution of quality. Submissions to one distribution would be missed by another, and instead of promoting specialization, you end up promoting disorganization. This doesn't help the software become better, or more useful, just harder to for people to deal with.
13. What are the design goals for BO2K?
    To be small, unobtrusive, and powerful. Pull out all the stops. Let the remote user control everything with confidence, and security. Let there be no single thing the user can't do from halfway around the world, that he couldn't do at the desktop. And keep it extensible. People should always be able to add new things to BO2K to extend the system. It should grow with people's needs, instantaneously supporting the demand. Control is the goal.
14. If I make my own distribution, can I sell it?
    Yes, as long as you also provide it for FREE. Feel free to sell support and documentation. Put it in a box. We don't mind. Just make sure that the software itself, with source code intact is freely available to anyone who wants it without even having to ask you for it. That's the rules. Try to be responsible in your creation of a distribution. If it's going suck, and you write crappy code, and you're only releasing a distribution because cDc rejected your code from theirs, then you probably aren't ready to be doing this. Sorry to be blunt, but we want to see quality distributions.
Back to top

     

     

     

     

     

     

     

     

     

     

     

    dummy