BibDesk is written in Objective-C with the Cocoa framework. It makes extensive use of third-party libraries, including BTParse.
In order to contribute to the main programming, a basic knowledge of Cocoa programming and Objective-C is necessary. Some parts of the code are in C, and we occasionally have to change the BTParse library, which is written in C.
There are currently few formal procedures for code review or coding standards. Most suggestions for improvement are expected to be discussed on the developer list before committing.
All The source code necessary to build BibDesk is available in Subversion. There is a separate page on how to use the BibDesk Subversion Repository.
Once you have downloaded the source from Subversion, you can build BibDesk.
If you contribute new source code, running unit tests before committing is one way to help make sure that you haven't broken anything. Adding some unit tests of your own is a good way to make sure that future updates don't break your additions. More details at Unit Tests.
If you want to help localize BibDesk in your language, please tell us on the users list. There is a separate page to explain what needs to be done to add a BibDesk Localization.
The development of current 1.x releases of BibDesk is taking place in the
trunk/bibdesk
subdirectory of the SVN repository.
If you want to contribute to the currently-shipping version of BibDesk, that's where to look for the source.
References to BibDesk 2.0 (aka BD2) around the wiki are referring to a side project to implement a more functional CoreData-based file format and UI for a future version of BibDesk that is in an exploratory state at present. If you want to contribute to the design and specification of this version, contact us via the developers list, and take a look at the code in
trunk/bibdesk_2_test
in the SVN repository.
Preliminary work on an iOS port of the 1.x release of BibDesk has begun. Please see the BibDesk iOS page for more information.
The current SVN committers are the following, in alphabetical order:
This is a group you can join! Contribute a couple of patches or just seem trustworthy, and ask on the developer list. We'll add you.
The SVN committer list is smaller than the CVS list was. That's probably just because those project members didn't ask for access after the switch to SVN. If that's you and you want to commit again, just ask.
Wiki: BD2-open-questions
Wiki: BibDesk_2.0_Design_Document
Wiki: BibDesk_Localization
Wiki: BibDesk_Subversion_Repository
Wiki: BibDesk_iOS
Wiki: BuildingFromSVN
Wiki: Main_Page
Wiki: Unit_Tests