Version 75 (modified by 15 years ago) (diff) | ,
---|
BOINC software development overview
BOINC is free software, distributed under the Lesser General Public License (LGPL), version 3 or later. The University of California holds the copyright on all BOINC source code. By submitting contributions to the BOINC code, you irrevocably assign all right, title, and interest, including copyright and all copyright rights, in such contributions to The Regents of the University of California, who may then use the code for any purpose that it desires.
- The BOINC development process
- Help wanted - programming
- Help wanted - translation
- boinc_dev, an email list for BOINC developers
- Coding style
- Using SVN
- Debugging the client on Windows
Get and build BOINC software
Design docs for current development
Implementation notes
Client: general
- File structure
- FSM structure
- Data structures?
- Main loop logic
- Host measurements
- Host identification
- Core client/application interaction (basic)?
- Automatic update
- Memory management
Client: scheduling
Client: packaging
- Sandbox implementation
- Windows installer (V5)
- Client package layout for Unix
- Version 6 Windows installer, design
- Version 6 Windows installer, implementation
- Unix client packaging
- Spec info for RPMs
Client: screensaver
Client: Manager
Server: general
- The BOINC database
- Backend state transitions
- The logic of backend programs
- Debugging server components
- Notes on BOINC server security
- Export statistics for 3rd-party sites
- Single-job submission
- Adaptive replication
- Low-level validator framework
Server: scheduler
Server: Packaging
PHP code (web pages and RPCs)
Protocols
- Protocol overview
- The scheduling server protocol
- Scheduling server timing and retry policies
- Data server protocol
- Persistent file transfers
- XML notes
Simulation
Source code documentation (in progress)
Miscellaneous
- Low latency computing
- Credit system proposal
- Organizational Grid Management
- Python-based simplified app development
- Python master/worker system
- Cross-project identification?
- Simulator of a project using locality scheduling
- Preferences
- Trickle messages
- How to see what has changed between two versions of an executable
- XML formats
- Diagnostics API
Historical
Design docs for old versions, or for ideas that never happened.