Skip to content

lectures setup

Bart Massey edited this page Jun 29, 2017 · 3 revisions

Open Source Project Setup

Copyright © 2013 Bart Massey

  • Background

    • Proprietary practices have low dev efficiency
    • Agile borrows practices from OSS to improve
    • Open source achieves fairly high dev efficiency
  • OSS Practices

    • "Patch-driven" incremental development
      • Start with a small thing (100 lines? 1000?) that does something useful
      • Start with something thrown over the wall
    • Code-centric development: "code is cheap"
    • Tool-driven development
      • Source code management and version control
      • Programming tools: PL tools, PL environments, debuggers
      • Communication / collaboration tools: IRC, email and email lists, forums, issue trackers
      • Build and config management: Make, autotools, ...
  • Set up your project

    • Meets technical targets
    • Meets community targets
    • How to
      • Figure out what you're doing
      • Pick a name
        • Unique, distinctive, "searchable", trademark-free
        • Interpretable, understandable, descriptive
        • Short, easy to pronounce
        • Interesting, amusing, fun
      • Pick a license
        • http://opensource.org
        • If your code needs to work with or interoperate with code under an existing OSS license, use theirs
        • If you think the hardest thing in your project is attracting many quality developers, or if you feel strongly about how other people use your code, or if you really think you'll need legal/license help later on, choose the GPL
        • If you think the hardest thing in your project is attracting many users, or if want to cause other users and developers minimal legal grief and concern, use the MIT license
      • Set up the project
        • Git / Github repository
          • Create account for yourself at Github.com
          • Create project following Github instructions
          • Further instructions to be determined.
        • Get your programming tools / environment
        • Get your build environment set up
        • Get your web page / README.md / whatever set up and the links and text straight
      • Start coding!
Clone this wiki locally