Week 5 Open Source - Sheets & Articles Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

What does a “cathedral” stand for in software engineering? (Raymond, 1997)

A

Software built like a cathedral: carefully crafted by individual wizards or small bands of mages working in splendid isolation, with no beta to be released before its time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What does a “bazaar” stand for in software engineering (Raymond, 1997)?

A

Software built like a bazaar: release early and often, delegate everything you can, and be open to mix-and-matching (promiscuity).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is Linus’s law?

A

Given enough eyeballs, all bugs are shallow.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the necessary preconditions for the bazaar style (Raymond, 1997)?

A
  • You cannot code from the ground up
  • When you start community-building, you need to be able to present a plausible promise
    -> it MUST run and convince co-developers that it can
    evolve into something really neat in the future
  • Coordinator needs to be able to recognize good design ideas from others
  • A project coordinator must have good people and communication skills to build a dev. community and to attract interesting people.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are three factors for the increased interest in open source software development (Lerner & Tirole, 2002)?

A
  • Rapid diffusion of open source software
  • Significant capital investments in open source projects
  • The new organization structure
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Name some examples of open source software.

A

Apache, Linux, Sendmail, to name a few from (Lerner & Tirole, 2002)…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What motivates open source programmers (Lerner & Tirole, 2002)?

A

Based on two incentives: career concern & ego gratification. In total = signaling incentive
Careers concern: future job offers, shares in commercial OS-based companies, or future access to the venture capital market
Ego gratification: desire for peer recognition, reputation building

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How can one increase the signaling incentive for open source programmers? (Lerner & Tirole, 2002)

A
  • More visible performance to the relevant audience
  • Higher impact of effort on performance
  • More informative the performance is about talent
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

An open source project may lower the cost of the programmer. Give two reasons why. (Lerner & Tirole, 2002)

A
  • Because the code is freely available to all, it can be used in schools & universities for learning purposes; it is already familiar to programmers (Alumni effect);
  • Cost can be offset if the activity brings about a private benefit for the programmer and his/her firm.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are some of the open-source production’s requirements? (Lerner & Tirole, 2002)

A
  • Modularity; small, well-defined tasks (modules) that individuals can tackle independently
  • Existence of fun challenges to pursue
  • Credible leader/leadership (vision, attracting programmers, keeping the project together)
  • Organization consistent with the nature of the process
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Why are programmers relatively easy to attract at an early stage of an open-source project? (Lerner & Tirole, 2002)

A
  • At the start, challenging problems are abundant

- If the project is successful, early contributors’ work will be very visible.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the 3 strategies to commercially capitalize on the open-source movement? (Lerner & Tirole, 2002)

A
  • Providing complementary services and products not supplied by the community
  • Releasing existing proprietary code
  • Be the intermediary; create a platform and ask fees for the online marketplace and other features
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is open source?

A

Type of software in which source code is open for study, modification, and redistribution.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Give a summary of the history of open source.

A

1990s: Linux released, open source dominance; Golden age
2000s: IT companies participate in open source
2010s: IT companies embrace open source (Microsoft purchasing Github for example)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are the two licensing types of OSS?

A
  • Restrictive licenses (every software using the code should adopt the same license; socialist ideology; Linux Kernel)
  • Permissive licenses (permits the user to change the license; Python; liberal ideology
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is GitHub?

A

The most famous OS development platform.

  • It is a version control system
  • It is a collaborative environment, community building
    • > repositories are projects
    • > Owner - creates project, assigns license
    • > Contributor - building new features and/or identifying bugs
17
Q

Explain the two systems of version control - CVCS & DVCS

A

Centralized version control system (like Subversion)

  • Central server - checking code changes once done
  • Problems: security (only 1 copy), conflicts

Decentralized version control system (like GitHub)

  • Entire project is copied to local system
  • They serve as backup (security)
  • Conflicts lower - test before merging, conflicts resolved locally
18
Q

Why is it hard to determine a workflow in OSS development?

A

It is often dynamic, hence every project may have a different workflow.

19
Q

Explain the basic workflow & feature branch workflow

A

Basic workflow:

  • Sequential & incremental
  • Each developer forks the project, works locally, then sends a pull request (A, AB, ABC, ABCD…)

Feature branch workflow:
- Create a feature branch and merge after development (after resolving conflicts)

20
Q

What are the two main roles of OSS development?

A
  • Collaborator / Write Access contributor
  • > Core contributors
  • > Community given status
  • > Identify features, bug fixes etc.
  • Contributor / No write access
  • > Peripheral contributors
  • > Any individual can submit code
  • > Less active
  • > Large workforce
21
Q

What are the GitHub created roles (5)?

A

Read, Triage (moderator-like), Write, Maintain, Admin