diff options
-rw-r--r-- | spm-slides.tex | 107 |
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? %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |