summaryrefslogtreecommitdiffstats
path: root/README.rst
blob: bf02b0d7fb66599c755364056c994630475348ce (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
LibrePlanet schedule generator
==============================

Installation
------------

On a Debian based distribution, do::

  # aptitude install virtualenv python-setuptools

Install globally
~~~~~~~~~~~~~~~~

::

   $ sudo pip install --pre lpschedule-generator


Install locally using virtualenv (Recommended)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Make a separate ``lpschedule-generator`` directory and initialize the
virtual environment in it::

  $ mkdir lpschedule-generator
  $ cd lpschedule-generator

  $ virtualenv .
  $ source bin/activate

Install ``lpschedule-generator`` inside this directory using ``pip``::

  $ pip install --pre lpschedule-generator

Activating virtual environment
``````````````````````````````

Always activate the virtual environment before using the ``lps_gen``
command::

   $ cd path/to/lpschedule-generator
   $ source bin/activate


Usage
-----

::

   $ lps_gen YEAR path/to/lp-sch.md > path/to/program-schedule.html

Replace ``YEAR`` with LP year; for example, for generating LP 2016
schedule, the command will be::

  $ lps_gen 2016 path/to/lp-sch.md > path/to/program-schedule.html


LP schedule markdown structure
------------------------------

Overall structure::

   ## Day 1

   ### Timeslot 1

   #### Session 1

   #### Session 2

   ...

   ### Timeslot 2

   #### Session 1

   #### Session 2

   ...

   ## Day 2

   ### Timeslot 1

   #### Session 1

   #### Session 2

   ...


Session structure::

  #### Fork and ignore: fighting a GPL violation by coding instead

  [Bradley Kuhn][kuhn], [Karen Sandler][sandler]

  Room 32-155

  Typically, GPL enforcement activity involves copyright infringement
  actions which compel license violators to correct errors in their
  GPL compliance, defending the policy goals of the GPL: the rights of
  developers and users to copy, share, modify and redistribute.

  While traditional enforcement is often undeniably necessary for
  embedded electronics products, novel approaches to GPL violations
  are often possible and even superior for more traditional software
  distributions.

  Recently, [Software Freedom Conservancy][sfc] engaged in an
  enforcement action whereby, rather than fight the violator in court,
  we instead provided resources and assistance to a vetted
  GPL-compliant fork of a violating codebase.

  This talk discusses which scenarios make this remedy optimal and the
  lessons learned. The talk includes some licensing and technical
  content about vetting the licensing information of codebases.

  [kuhn]: https://libreplanet.org/YEAR/path/to/speakers.html#kuhn
  [sandler]: https://libreplanet.org/YEAR/path/to/speakers.html#sandler
  [sfc]: https://sfconservancy.org/


Sample: https://notabug.org/rsd/lpschedule-generator/raw/dev/tests/files/lp-sch.md


Source
------

::

   $ git clone https://notabug.org/rsd/lpschedule-generator.git