wiki:SoftwareDevelopment

Version 51 (modified by davea, 16 years ago) (diff)

--

BOINC software development

BOINC is free software, distributed under the Lesser General Public License (LGPL). 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.

BOINC development

Get and build BOINC software

Writing add-on software

BOINC's architecture is 'open'; documented interfaces making it possible to develop various types of applications and web sites that interact with BOINC components. Examples include:

  • Client GUIs: Applications that control a local or remote core client.
  • Credit statistics web sites: Web sites showing credit information (project totals, user/team/country leaderboards) based on daily XML feeds of statistics data from BOINC projects. The XML format is documented here.
  • Account managers: Web sites that let BOINC users create and manage accounts on multiple projects.
  • Aggregate credit statistics: Web RPCs for getting cross-project credit data for hosts, teams and users.
  • Web RPCs: These interfaces let a program or web site obtain information about projects, and create/edit entities (users, teams, hosts) on projects.
  • Local editing of preferences: This mechanism lets you write programs for local editing of preferences.

Check the index of add-on software before writing anything (it may already exist). The index has instructions for submitting new add-ons.

Alpha testing

Design docs for current development

Implementation notes

Client

Server programs

Packaging

PHP code (web pages and RPCs)

Protocols

Simulation

Miscellaneous

Historical

Design docs for old versions, or for ideas that never happened.