Presentation is loading. Please wait.

Presentation is loading. Please wait.

Open Source Software Development Environment

Similar presentations


Presentation on theme: "Open Source Software Development Environment"— Presentation transcript:

1 Open Source Software Development Environment
William Cohen NCSU CSC 591W January 16, 2008

2 Outline Community Communication Local machine environment

3 Community Mixture of people working on OSS projects: Volunteers:
Want to learn more by doing Think project is cool Need project for something else Contributors for hire: Someone see value in the project Adding specific features Distributed contributors: Different companies Different continents Different timezones

4 Communication Usually on mailing lists to allow wider participation Allows archiving information Good for people that are differing timezones IRC: Interactive Often used for quick questions Phone: Maybe have people awake at odd times due to TZ Face-to-face: Less frequent Usually at conferences, e.g. Ottawa Linux Symposium

5 Local Machine Environment
Environment varies based on OSS project Components: Revision Control Systems (RCS) Editing Building Debugging

6 Revision Control Systems
Manages code base for projects Identifies each set of changes Allow multiple versions (branches) of the software to be in development Enables retrieval of specific versions of software Perform comparison between different versions Allow merging of changes from one version to another

7 RCS Vocabulary Commit Log message Update Repository Checkout
Working copy Revision, change, changeset Diff Tag Branch Merge Conflict Lock

8 Example RCS Systems Centralized (one master repository): CVS
Subversion Distributed (multiple repositories): Mercurial Git Monotone

9 Editing Need write the code
Some environments such as eclipse have built in editors Editor individual choice for many projects: Emacs vs. vi Pick what works for you Some editors have highlight and other support for various languages (e.g. Vim and emacs)

10 Building Have the required supporting software installed on the machine Configure Build Install

11 Configure Determine the build environment: Operating system
Target architecture Where supporting library and include files are located Enable/disable optional features in software Specify installation location

12 Build Convert the human readable source code into computer can executable code “make” often used to drive build: Makefile lists dependencies for files Makefile contains rules on how to build file from other files

13 Install Puts software in appropriate locations
Separate process after the code is built Usually requires root permissions May need to do other steps to: Inform OS about new shared libraries Enable background process

14 Debugging Need methods of inspecting code to determine what is going wrong or point out problem area Primitive debugging: Use print statements to print out pieces of information Less primitive: Compile software with additional symbols so debugger knows where things are located Use tools such as gdb or totalview


Download ppt "Open Source Software Development Environment"

Similar presentations


Ads by Google