Transcript three pages of brainstorming done at 5AM.
authorThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Tue, 28 Apr 2009 01:58:42 +0000 (22:58 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Tue, 28 Apr 2009 01:58:42 +0000 (22:58 -0300)
Just like every other day when I'm walking home, I have some ideas that
end up deep in my mind when I get to my bed. This time, I took half to
an hour to write some of them. This is the transcript of this sketch,
which is the result of that brainstorm. It has no form, no structure,
just some thoughts put on a piece of paper so they could not be lost.

transcript [new file with mode: 0644]

diff --git a/transcript b/transcript
new file mode 100644 (file)
index 0000000..e32b096
--- /dev/null
@@ -0,0 +1,50 @@
+Article: Code Flows and Social Networks
+
+- Exclude simple redistribution. New Code/Patch Flows.
+- Examples:
+  * Debian Packages usually include modifications, let it be in its own
+  build system (include debian/ as a patch?)
+  * VCS commits/updates/pushes/pulls/merges.
+  * Patches through mailing lists, BTSs, PTSs, scattered in the web.
+  * releases, pre-releases, candidates, betas.
+- Flow direction: code goes from author to "user". Creates a Directed
+  Graph.
+- Is it a tree with a identifiable root? It's centralized/hierarchical.
+  The CVS model.
+
+               o CVS repo
+       /       |               \
+o committer    o committer     o user? sink?
+
+- Remove sinks? Code only flows to them, not from them. Don't remove
+  them. It shows (undesirable) cases where people create code but it
+  only goes "downstream" (only one direction). Hypothetical example:
+
+                               o Upstream Project
+/      /       /               |       {       \
+|      |       o Contributor   o Debian        o Ubuntu
+|      o Fedora                                |
+|      /                                       o Unlucky Person }
+o Translator
+
+Code goes in and comes out from Ubuntu, but it does not reach the
+community.
+
+- Sources only?? Original authors? Is there original works? Do people
+  just leave the project without ever receiving a patch? Do we consider
+  these OSS?
+
+- Push/pull: request direction. Sending an email with the patch is push.
+  A HTTP GET is pull. An email with HTTP URI is still push. CVS commit
+  is push. CVS update is pull. Use original request. Push has same
+  direction as code.
+
+- Truly centralized systems never do the request. When using CVS, a
+  contributor starts the request when commiting (push) and updating
+  (pull). The repository/root/central point does not start them.
+  Requests have only one flow to a sink.
+
+- The distributed model: social network with some nodes with high
+  connectivity and low degree of separation. Clusterization.
+
+- git: analyse author, committer, tree maintainer, merges.