From 6a4c25510ff90b46475cbf1a7a22237311c54fdd Mon Sep 17 00:00:00 2001
From: Hui Lan <lanhui@zjnu.edu.cn>
Date: Thu, 21 May 2020 22:19:37 +0800
Subject: spm-slides.tex: make some edits while reading Chapter 5 of Karl
 Forgel's book.

---
 spm-slides.tex | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 96 insertions(+), 11 deletions(-)

(limited to 'spm-slides.tex')

diff --git a/spm-slides.tex b/spm-slides.tex
index 5c1bec9..f6010bb 100644
--- a/spm-slides.tex
+++ b/spm-slides.tex
@@ -2581,7 +2581,7 @@ Identify key issues.
 
 Approval voting (each voter can vote for as many of the choices on the ballot).
 
-{\bf Arrow's Impossibility Theorem} - no voting system is perfect.
+No voting system is perfect (\href{https://www.investopedia.com/terms/a/arrows-impossibility-theorem.asp}{Arrow's Impossibility Theorem}).
 
 Consensus simply means an agreement that everyone is willing to live with.
 
@@ -2599,7 +2599,17 @@ Voters do not have to be coders (committers).  People who did valuable contribut
 
 The decision to add a new voter should be made secretly.
 
-Implicit consensus. Silence means consent.
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\foilhead{Lazy Consensus}
+
+Implicit consensus.
+
+Silence means consent.
+
+Silence means no objection.
+
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \foilhead{Polls}
@@ -3490,6 +3500,8 @@ TBD.
 
 Software developers must be paid.
 
+Many free software developers are paid.  They can be representatives of companies.
+
 Office space and network bandwidth.
 
 Proprietary software: monopoly-controlled royalty streams based on per-copy sales.
@@ -3501,14 +3513,16 @@ For example, a company needs a web server, but it does not want to make money fr
 
 - Paid developers: informal subsidy, salaries.
 
-- Unpaid developers
+- Unpaid developers.
 
-In-group and out-group developers.
+Attract funding from credible organizations.  In-group and out-group developers.
 
-Unpaid labor for someone else's benefit.
+%Unpaid labor for someone else's benefit.
 
 - Funding sources
 
+Money can buy things that {\em lead to} influence.
+
 Money -- hire good programmers -- influence -- voting power -- voting block.
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -3520,7 +3534,9 @@ A key developer suddenly loses interest.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \foilhead{Corporate Involvement}
 
-Sharing the burden.  Reduce cost of development incurred on individual companies without sacrificing the benefits.
+Sharing the burden.  (Divide cost and get all benefits).
+
+%Reducing cost of development incurred on individual companies without sacrificing the benefits.
 
 Ensuring maintenance of infrastructure.  Companies sell services dependent on open source software.
 
@@ -3528,17 +3544,86 @@ Establishing a standard.  Include the standard into open source software to make
 
 Creating an ecosystem.
 
-Supporting hardware sales.  Hardware is useless without good software, vice versa.
+Supporting hardware sales.  Hardware is useless without good software.
 
 Undermining a competitor.
 
-Marketing. Brand marketing.
+Marketing. Good brand management.
+
+Proprietary relicensing.  Resell open source software by integrating it to proprietary software. Not a ``pure open source play''.  ``Open source is just a way of software development'' to ``open source is a way of life'' spectrum.  Free software has proprietary versions, e.g., MySQL.
+
+Funder's business model.  Start the project or join in the project? Leadship or just one voice?
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\foilhead{Hire for the Long Term}
+
+A really experience programmer
+
+- has stayed at least a couple of years in the project.
+
+- has a good reputation.
+
+- has an influence.
+
+- knows the code well.
+
+- knows old discussions on a design decision.
+
+- has commit access.
+
+How to train a newcommer?
+
+Start with bugfixes and cleanup tasks, so he can learn the codebase and get himself known to the community.
+
+An exprienced programmer should read everything the newcomer posts (e.g., bugfix patches) and be available to answer his questions.
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\foilhead{Be Open About Your Motivations}
+
+Why you want what you want.
+
+Provide concrete examples of why.
+
+Real-world usage data.
+
+Focus on the problem, not your solution.  Provide a number of solutions and analyze each.
+
+Honest broker.
+
+Quiz: you want to convince other people to add a feature and use a particular solution, how?
+
+Quiz: What is a committer.  What is commit access?
+
+Commit-access standards.  ``Other people have to earn their commit access — CollabNet just buys it.''
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\foilhead{Evaluating Open Source Projects}
+
+Social health and project maturity.
+
+How large and diverse are their developer communities?
+
+Do they get new contributors on a regular basis?
+
+Do they handle incoming bug reports in a reasonable way?
+
+Do they make stable releases frequently enough for your needs?
+
+Tips:
+
+Look at bug tracker activity first.
+
+Measure commit diversity, not commit rate.
+
+Evaluate organizational diversity.
 
-Proprietary relicensing.  Resell open source software by integrating it to proprietary software. Not a "pure open source play".  "Open source is just a way of software development" to "open source is a way of life" spectrum.
+Discussion forums.
 
-Start the project or join in the project?
+News, announcements, and releases.
 
-Leadship or just one voice?
 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-- 
cgit v1.2.1

