Swap
Compare Revisions
Showing 10 commits
Ancestor: 26def8538a10
10 2016-10-25 22:34:29
bkuhn
be0abd7b1e18 next
Document the One Rule for merging into master.
9 2016-10-25 22:24:07
bkuhn
c7bf90446e45
Correct reference to wrong section.
8 2016-10-25 22:22:18
bkuhn
f1106e4c34e4
Note new commit bits given out to three others.
7 2016-08-16 10:02:02
bkuhn
0ad08b92d532
Would help online contributors send small changes? HT: Loïc Dachary <loic@dachary.org> ... who told me about this project.
6 2016-05-17 13:15:01
bkuhn
85bbbf1ec649 master
Gitorious Apocalypse: even more gitorious URLS I believe these are the last few Gitorious URLs
5 2016-05-17 12:19:09
bkuhn
eb51d8327cf8
Gitorious Apocalypse: remove gitorious more URLs The Gitorious URLs are now dead. A few Gitorious URLs continued to appear in the front matter of the Guide itself. This fixes those links to with k.copyleft.org equivalents.
4 2015-05-12 14:54:07
bkuhn
56ec3c68ee58
This clearly should have been \ref all along.
3 2015-05-04 21:10:36
bkuhn
0b3b7ecffd3a
Notice in Contributing section about individuals. Individuals act on their own behalf in this project, regardless of who sponsors it.
2 2015-04-03 03:51:35
bkuhn
4dcf54510828
Gitorious Apocalypse: recovery existing clone These instructions are simple and I've tested them.
1 2015-04-03 03:32:33
bkuhn
0a5d6db00372
Gitorious Apocalypse: remove all gitorious URLs The Gitorious URLs will disappear in the next few hours. The canonical hosting location of this project is now on copyleft.org. Specific gitorious URLs are generally replaced with k.copyleft.org, which is copyleft.org's self-hosted Kallithea instance.
7 files changed with 125 insertions and 51 deletions:
↑ Collapse Diff ↑
CONTRIBUTING.md | tip tip
...
 
@@ -9,20 +9,24 @@ Free Software project.
9 9
 
## Who Is In Charge?
10 10
 

	
11 11
 
Currently, [Bradley M. Kuhn](http://ebb.org/bkuhn/) is the editor-in-chief of
12
 
this Guide project.  However, many other contributors have given patches and
13
 
improvements to the text.  Review the
14
 
[commit log in the Git repository](https://gitorious.org/copyleft-org/tutorial/commits/master)
12
 
this Guide project.  Bradley shares commit access with Ben Cotton, Donald
13
 
Roberston, and Engel Nyst.
14
 

	
15
 
Also, many other contributors have given patches and improvements to the
16
 
text.  Review the
17
 
[commit log in the Git repository](https://k.copyleft.org/guide/changelog)
15 18
 
for more details on who has contributed to the project.
16 19
 

	
17 20
 
## How Do I Get Involved?
18 21
 

	
19 22
 
The Guide is maintained in a copylefted distributed version control system called
20
 
[Git](http://git-scm.com/).  Currently, the project utilizes the services of
21
 
a  Git hosting website called [Gitorious](https://gitorious.org). (The
22
 
software which runs Gitorious is, itself, copylefted, too.)
23
 
[Git](http://git-scm.com/).  Currently, the project collaboration site is an
24
 
instance of the [Kallithea code hosting software](https://kallithea-scm.org/)
25
 
hosted at [k.copyleft.org](https://k.copyleft.org/guide/).  (Kallithea itself
26
 
us under a copyleft license, too, namely GPLv3.)
23 27
 

	
24
 
Those who are comfortable with Gitorious can submit
25
 
[merge requests on copyleft.org's gitorious site](https://gitorious.org/copyleft-org/tutorial/merge_requests).
28
 
Those who are comfortable with using Kallithea can submit
29
 
[pull requests via the Kallithea interface](https://k.copyleft.org/guide/pull-request).
26 30
 
See the section "Merge Request and Patch Workflow" below for more information
27 31
 
on the details of doing that.
28 32
 

	
...
 
@@ -79,7 +83,8 @@ procedures when doing so:
79 83
 

	
80 84
 
0. Target all changes for the 'next' branch (see below).  Likely, use of a
81 85
 
   secondary branch will be useful for the following steps (perhaps use the
82
 
   procedure below entitled "Contributing via Gitorious" to do so).
86
 
   procedure below entitled "Contributing via copyleft.org's Kallithea
87
 
   instance" to do so).
83 88
 

	
84 89
 
1. If possible, follow this procedure for the first commit that begins the
85 90
 
   work of integrating the third party text.
...
 
@@ -111,7 +116,7 @@ procedures when doing so:
111 116
 
   brought from the other source &mdash; more-or-less as it stood in the
112 117
 
   other work.  This is useful for historical archiving purposes.
113 118
 

	
114
 
   [Commit 678e841079aa708f98fe948ec8cef672d9a4c3cc](https://gitorious.org/copyleft-org/tutorial/commit/678e841079aa708f98fe948ec8cef672d9a4c3cc)
119
 
   [Commit 678e841079aa708f98fe948ec8cef672d9a4c3cc](https://k.copyleft.org/guide/changeset/678e841079aa708f98fe948ec8cef672d9a4c3cc)
115 120
 
   contains an example of this specific procedure.
116 121
 

	
117 122
 
2. In a second commit, by itself, add the following two things only:
...
 
@@ -141,7 +146,7 @@ procedures when doing so:
141 146
 
   Commit changes as necessary, in the smallest increments reasonably
142 147
 
   possible.
143 148
 

	
144
 
   [Commit 07a02b0b1c6d3ac2af9ed21b2a563abcf44d3d0f](https://gitorious.org/copyleft-org/tutorial/commit/07a02b0b1c6d3ac2af9ed21b2a563abcf44d3d0f)
149
 
   [Commit 07a02b0b1c6d3ac2af9ed21b2a563abcf44d3d0f](https://k.copyleft.org/guide/changeset/07a02b0b1c6d3ac2af9ed21b2a563abcf44d3d0f)
145 150
 
   is an example of the process for the last two steps.
146 151
 

	
147 152
 
5. Submit a merge request for your branch into 'next'.  In this particular
...
 
@@ -151,9 +156,9 @@ procedures when doing so:
151 156
 
## Merge Request and Patch Workflow
152 157
 

	
153 158
 
Currently, the main location for work on this project is
154
 
[on Gitorious](https://gitorious.org/copyleft-org/tutorial), and active new
159
 
[on k.copyleft.org](https://k.copyleft.org/guide), and active new
155 160
 
development on the project happens on the
156
 
['next' branch](https://gitorious.org/copyleft-org/tutorial/source/next:)
161
 
['next' branch](https://k.copyleft.org/guide/changelog?branch=next)
157 162
 
(which is
158 163
 
[auto-published on the copyleft.org/guide-next URL](https://copyleft.org/guide-next/)).
159 164
 
Here is a suggested workflow for submitting patches &mdash; first doing so
...
 
@@ -161,35 +166,37 @@ Here is a suggested workflow for submitting patches &mdash; first doing so
161 166
 
infrastructure but still using Git, and third avoiding Git altogether.
162 167
 

	
163 168
 
Merge requests and/or patches against
164
 
['next' branch](https://gitorious.org/copyleft-org/tutorial/source/next:) are
169
 
['next' branch](https://k.copyleft.org/guide/changelog?branch=next) are
165 170
 
typically much preferred, and the workflow explanations below assume that.
166 171
 
However, merge requests and/or patches against
167
 
['master' branch](https://gitorious.org/copyleft-org/tutorial/source/master:)
172
 
['master' branch](https://k.copyleft.org/guide/changelog?branch=master)
168 173
 
are not necessarily rejected.  In fact, if your change is a fix for typo,
169 174
 
spelling, grammar, formatting or anything urgent, submitting a patch against
170 175
 
'master' may make more sense.
171 176
 

	
172 177
 
To use the instructions below for proposals against the 'master' branch, just
173
 
replace 'next' everywhere below with 'master'.
178
 
replace 'next' everywhere below with 'master'.  However, please read below
179
 
the section entitled "Why Changes Should Target 'next' Branch" below before
180
 
pushing anything to the master branch.
174 181
 

	
175 182
 

	
176
 
### Contributing via Gitorious
183
 
### Contributing via copyleft.org's Kallithea instance
177 184
 

	
178 185
 
First-time contributors may want to do the following four items first:
179 186
 

	
180
 
0. [Create an account on Gitorious](https://gitorious.org/users/new)
187
 
0. [Create an account on k.copyleft.org](https://k.copyleft.org/_admin/register)
181 188
 

	
182
 
1. [Visit gitorious.org/copyleft-org/tutorial](https://gitorious.org/copyleft-org/tutorial)
183
 
    and click "Clone".
189
 
1. [Visit k.copyleft.org/guide](https://k.copyleft.org/guide)
190
 
    and choose "Fork" from the "Options" menu.
184 191
 

	
185 192
 
    Instead of the default, you might call your clone
186
 
    "MYNAME-copyleft-tutorial-suggestions".
193
 
    "guide-USERNAME".
187 194
 

	
188 195
 
2. On the command line create a *local* clone of your Clone, by typing:
189 196
 

	
190
 
        $ git clone git@gitorious.org:copyleft-org/MYNAME-copyleft-tutorial-suggestions.git copyleft-tutorial
191
 
        $ cd copyleft-tutorial
192
 
        $ git remote rename origin MYNAME-copyleft-tutorial-suggestions
197
 
        $ git clone https://USERNAME@k.copyleft.org/guide-USERNAME copyleft-guide
198
 
        $ cd copyleft-guide
199
 
        $ git remote rename origin guide-USERNAME
193 200
 

	
194 201
 
    (The last part isn't strictly necessary; you just might want to name the
195 202
 
    upstream repository a more descriptive name, since below you'll add the
...
 
@@ -198,9 +205,9 @@ First-time contributors may want to do the following four items first:
198 205
 
3. Now, add to your clone a copy of the "real" copyleft.org tutorial
199 206
 
   repository, and make a branch that tracks the official version:
200 207
 

	
201
 
        $ git remote add copyleft-tutorial-official git@gitorious.org:copyleft-org/tutorial.git
202
 
        $ git fetch copyleft-tutorial-official
203
 
        $ git branch --track official-next copyleft-tutorial-official/next
208
 
        $ git remote add guide-official https://bkuhn@k.copyleft.org/guide
209
 
        $ git fetch guide-official
210
 
        $ git branch --track official-next guide-official/next
204 211
 

	
205 212
 
That completes the first-time setup.  Next is a workflow each proposed merge
206 213
 
request.
...
 
@@ -222,8 +229,8 @@ request.
222 229
 

	
223 230
 
        $ git checkout master
224 231
 
        $ git branch -D official-next
225
 
        $ git fetch copyleft-tutorial-official
226
 
        $ git branch --track official-next copyleft-tutorial-official/next
232
 
        $ git fetch guide-official
233
 
        $ git branch --track official-next gude-official/next
227 234
 
        $ git checkout official-next
228 235
 
        $ git pull
229 236
 

	
...
 
@@ -258,20 +265,19 @@ request.
258 265
 

	
259 266
 
4. Next, upload and publish those ideas to your own clone on Gitorious.
260 267
 

	
261
 
        $ git push MYNAME-copyleft-tutorial-suggestions my-new-idea-for-tutorial
268
 
        $ git push guide-USERNAME my-new-idea-for-tutorial
262 269
 

	
263 270
 
    That's the end of the command-line part.
264 271
 

	
265
 
5. Now, visit Gitorious' merge-request creation web interface at
266
 
   https://gitorious.org/copyleft-org/MYNAME-copyleft-tutorial-suggestions/merge_requests/new
272
 
5. Now, visit the Kallithea pull request merge-request creation web interface at
273
 
   https://k.copyleft.org/guide-USERNAME/pull-request
267 274
 

	
268 275
 
   Initiate your merge request with by setting:
269 276
 

	
270
 
        Summary:       Briefly describe your proposal
271
 
        Description:   More completely describe your proposal
272
 
        Target:        tutorial
273
 
        Target Branch: next
274
 
        Source Branch: my-new-idea-for-tutorial
277
 
        Title:                  Briefly describe your proposal
278
 
        Description:            More completely describe your proposal
279
 
        Original Repository:    guide-USERNAME : my-new-idea-for-tutorial
280
 
        Destination Repository: guide (parent) : next
275 281
 

	
276 282
 
6. While it's possible to discuss the details of the merge request via the
277 283
 
   web interface, for larger changes, it may be worthwhile to start a thread
...
 
@@ -279,3 +285,58 @@ request.
279 285
 
   [the mailing list](http://lists.copyleft.org/cgi-bin/mailman/listinfo/discuss)
280 286
 
   about the merge request.  Include the URL of the merge request in the
281 287
 
   post.
288
 

	
289
 
## Why Changes Should Target 'next' Branch
290
 

	
291
 
The instructions above encourage you to submit your changes to the 'next'
292
 
branch, which is found
293
 
[on k.copyleft.org](https://k.copyleft.org/guide/files/next), and is
294
 
auto-deployed to
295
 
[copyleft.org/guide-next/](https://copyleft.org/guide-next/).
296
 

	
297
 
The "official" Copyleft Guide is published on
298
 
[copyleft.org/guide/](https://copyleft.org/guide/) automatically from the
299
 
'master' branch of the repository.
300
 

	
301
 
Since many use this Guide as a reference, non-trivial changes are merged into
302
 
the "official" Copyleft Guide carefully and only after
303
 
discussion on
304
 
[the mailing list](http://lists.copyleft.org/cgi-bin/mailman/listinfo/discuss).
305
 

	
306
 
There is one key rule with regard to merging changes from 'next' to 'master':
307
 

	
308
 
> Treat 'master' branch as if by committing there, you have single-handledly
309
 
> defined for the world what copyleft is.
310
 

	
311
 
If you have commit access to the public master branch, please carefully head
312
 
this.
313
 

	
314
 
## Gitorious Apocalypse Recovery
315
 

	
316
 
If you used to contribute via Gitorious, *don't panic*!  We were careful to
317
 
transition the project to Kallithea without requiring recloning the
318
 
repository.  If you initially did a clone of the main repository (i.e., not
319
 
your own clone) all you need to do one of these operations
320
 

	
321
 
For Git 1.8.0 or later:
322
 

	
323
 
    $ git remote set-url origin https://k.copyleft.org/guide
324
 
    $ git --set-upstream master origin/master
325
 
    $ git --set-upstream-to next origin/next
326
 

	
327
 
For any older version of Git:
328
 

	
329
 
    $ git remote set-url origin https://k.copyleft.org/guide
330
 
    $ git config branch.master.remote https://k.copyleft.org/guide
331
 
    $ git config branch.next.remote https://k.copyleft.org/guide
332
 

	
333
 
(If you renamed the gitorious remote to a different name, replace "origin"
334
 
with the name you used.  If you previously followed the workflow instructions
335
 
above, yours is probably called "guide-official", or "tutorial-official",
336
 
rather than "origin").
337
 

	
338
 
It's really that simple!
339
 

	
340
 
If you had a clone on gitorious, you have a bit more work to do, but feel
341
 
free to create a clone on k.copyleft.org and push any branches you care about
342
 
there!
README.md | tip tip
...
 
@@ -22,8 +22,8 @@ You may also
22 22
 
and [download a PDF of the Guide as well](http://copyleft.org/guide/comprehensive-gpl-guide.pdf).
23 23
 

	
24 24
 
Note the
25
 
[canonical repository for this project is on gitorious](https://gitorious.org/copyleft-org/tutorial/source/master:).
26
 
Typically, copies of this repository on  sites other than gitorious are for informational and backup
25
 
[canonical repository for this project is on k.copyleft.org](https://k.copyleft.org/guide/files/tip/).
26
 
Typically, copies of this repository on  sites other than copyleft.org are for informational and backup
27 27
 
purposes only.
28 28
 

	
29 29
 
## Contributing
...
 
@@ -31,3 +31,14 @@ purposes only.
31 31
 
Improvements of all kinds and manner are welcome.  Please review
32 32
 
[the instructions and details regarding making contributions](CONTRIBUTING.md)
33 33
 
for more information.
34
 

	
35
 
Copyleft.org may be sponsored by various organizations, and organizations may
36
 
also republish some, or all, of the output of this project under the terms of
37
 
the CC BY-SA license.  However, contributors' work is their own, and thus the
38
 
opinions expressed in their contributions, IRC utterances, commit messages,
39
 
mailing list posts, and/or other fora provided by copyleft.org may not
40
 
necessarily reflect the views of the contributors' employers and/or
41
 
organizations sponsoring the project and/or organizations republishing
42
 
copyleft.org's materials.  Generally speaking, unless stated otherwise,
43
 
please assume that individuals contribute to copyleft.org in their personal
44
 
capacity.
TODO.md | tip tip
...
 
@@ -8,3 +8,5 @@
8 8
 
  copyleft.org/guide/  I set a few of these up by hand already, but perhaps
9 9
 
  there's a way that tex4ht could dump an list of URL redirects automatically
10 10
 
  when it builds the HTML.
11
 
* https://hypothes.is/ might be useful for quickly allowing web readers
12
 
  to add changes.
comprehensive-gpl-guide.tex | tip tip
...
 
@@ -127,9 +127,9 @@ those licenses should note the
127 127
 

	
128 128
 
As a public, collaborative project, this Guide is primarily composed of the
129 129
 
many contributions received via its
130
 
\href{https://gitorious.org/copyleft-org/tutorial/source/master:CONTRIBUTING.md}{public
130
 
\href{https://k.copyleft.org/guide/files/master/CONTRIBUTING.md}{public
131 131
 
  contribution process}.  Please
132
 
\href{https://gitorious.org/copyleft-org/tutorial/history/master}{review its
132
 
\href{https://k.copyleft.org/guide/changelog/master/}{review its
133 133
 
  Git logs} for full documentation of all contributions, and
134 134
 
Appendix~\ref{third-party-citation-list}
135 135
 
  contains a list of third-party works from which some material herein was
...
 
@@ -138,7 +138,7 @@ adapted.
138 138
 
The most recent version is
139 139
 
available online at \url{https://copyleft.org/guide/}.  Patches
140 140
 
are indeed welcome to this material.  Sources can be found in the Git
141
 
repository at \url{https://gitorious.org/copyleft-org/tutorial/}.
141
 
repository at \url{https://k.copyleft.org/guide/}.
142 142
 
}
143 143
 
\end{center}
144 144
 

	
enforcement-case-studies.tex | tip tip
...
 
@@ -447,7 +447,7 @@ $ make
447 447
 
and waited approximately 40 minutes for the build to complete\footnote{Build
448 448
 
  times will likely vary widely on various host systems.}.  The investigator
449 449
 
kept a
450
 
\href{https://gitorious.org/copyleft-org/tutorial/source/master:enforcement-case-studies_log-output/thinkpenguin_librecmc-complete.log}{full
450
 
\href{https://k.copyleft.org/guide/files/master/enforcement-case-studies_log-output/thinkpenguin_librecmc-complete.log}{full
451 451
 
  log of the build}, which is not included herein due its size (approximately
452 452
 
7.2K of text).
453 453
 
\label{thinkpenguin-main-build}
...
 
@@ -515,7 +515,7 @@ mips-librecmc-linux-uclibc-gcc.bin: /lib/libc.so.6:
515 515
 
\end{lstlisting}
516 516
 

	
517 517
 
   (The
518
 
\href{https://gitorious.org/copyleft-org/tutorial/source/master:enforcement-case-studies_log-output/thinkpenguin_u-boot-build_fail.log}{complete
518
 
\href{https://k.copyleft.org/guide/files/master/enforcement-case-studies_log-output/thinkpenguin_u-boot-build_fail.log}{complete
519 519
 
  log output from the failure} is too lengthy to include herein.)
520 520
 

	
521 521
 
   This issue is an annoyance, not a compliance problem.  It was clear from
...
 
@@ -536,7 +536,7 @@ $ ln -s \
536 536
 
\end{itemize}
537 537
 

	
538 538
 
The
539
 
\href{https://gitorious.org/copyleft-org/tutorial/source/master:enforcement-case-studies_log-output/thinkpenguin_u-boot-finish_build.log}{full
539
 
\href{https://k.copyleft.org/guide/files/master/enforcement-case-studies_log-output/thinkpenguin_u-boot-finish_build.log}{full
540 540
 
  log of the build} is not included herein due its size (approximately 3.8K
541 541
 
of text).  After that, the investigator found a new U-Boot image in the
542 542
 
``bin'' directory.
...
 
@@ -741,7 +741,7 @@ The comparison steps were as follows:
741 741
 
\begin{enumerate}
742 742
 
  
743 743
 
\item Extract the filesystem from the image we built by running
744
 
  \href{https://gitorious.org/copyleft-org/gpl-compliance-scripts/source/master:find-firmware.pl}{find-firmware.pl}
744
 
  \href{https://k.copyleft.org/gpl-compliance-scripts/files/master/find-firmware.pl}{find-firmware.pl}
745 745
 
  on ``bin/ar71xx/librecmc-ar71xx-generic-tl-wr841n-v8-squashfs-factory.bin''
746 746
 
  and then running
747 747
 
  \href{http://www.binaryanalysis.org/en/content/show/download}{bat-extratools}'
gpl-lgpl.tex | tip tip
...
 
@@ -1504,7 +1504,7 @@ generally require permission from the copyright holder to grant explicit
1504 1504
 
permission to modify a work in any manner.  As discussed in the next chapter,
1505 1505
 
the GPL {\em does} grant such permission, but requires the modified work must
1506 1506
 
also be licensed under the terms of the GPL (and only GPL:
1507
 
see\S~\label{GPLv2s6} in this tutorial).  Determining whether software was
1507
 
see\S~\ref{GPLv2s6} in this tutorial).  Determining whether software was
1508 1508
 
modified is a substantially easier analysis than the derivative work
1509 1509
 
discussions and considerations in this chapter.
1510 1510
 

	
third-party-citations.tex | tip tip
...
 
@@ -5,16 +5,16 @@
5 5
 

	
6 6
 
As a public, collaborative project, this Guide is primarily composed of the
7 7
 
many contributions received via its
8
 
\href{https://gitorious.org/copyleft-org/tutorial/source/master:CONTRIBUTING.md}{public
8
 
\href{https://k.copyleft.org/guide/files/master/CONTRIBUTING.md}{public
9 9
 
  contribution process}.  Please
10
 
\href{https://gitorious.org/copyleft-org/tutorial/history/master}{review its
10
 
\href{https://k.copyleft.org/guide/changelog}{review its
11 11
 
  Git logs} for full documentation of all contributions.
12 12
 

	
13 13
 
Below is a list of CC-By-SA-licensed works, with specific titles and
14 14
 
publication dates, from which any material was incorporated into this Guide.
15 15
 
The specific methods and details of incorporation are fully
16 16
 
documented in the
17
 
\href{https://gitorious.org/copyleft-org/tutorial/history/master}{Git logs}
17
 
\href{https://k.copyleft.org/guide/changelog}{Git logs}
18 18
 
of the project.
19 19
 

	
20 20
 
\label{third-party-citation-list}
...
 
@@ -47,6 +47,6 @@ contributed to this Guide using its Git (and formerly, CVS) repository.
47 47
 
Rather, this is a list of third-party published works from which any text was
48 48
 
herein included under their CC-By-SA licensing.  Thus, as the reader might
49 49
 
expect, the
50
 
\href{https://gitorious.org/copyleft-org/tutorial/history/master}{version
50
 
\href{https://k.copyleft.org/guide/changelog}{version
51 51
 
  control logs} contain the only true and accurate view available of who has
52 52
 
contributed which portions of this project.