summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--spm-slides.tex107
1 files changed, 96 insertions, 11 deletions
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?
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%