PageSourceSearch

https://mediagoblin.org/news/

html mediagoblin.org collected 2026-10-01 10:26:56 UTC 48,154 bytes, 1,142 lines download raw bytes

1<!DOCTYPE html>
2<html>
3<head>
4        <title>MediaGoblin</title>
5        <meta charset="utf-8" />
6        <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
8        <link rel="stylesheet" type="text/css" href="/css/extlib/reset.css"/>
9        <link rel="stylesheet" type="text/css" href="/css/extlib/text.css"/>
10        <link rel="stylesheet" type="text/css" href="/css/extlib/960_16_col.css"/>
11        <link rel="stylesheet" type="text/css" href="/css/base.css"/>
12
13
14        <!-- <link rel="stylesheet" href="theme/css/main.css" type="text/css" /> -->
15
16        <link href="https://mediagoblin.org/news/index.xml" type="application/atom+xml" rel="alternate" title="MediaGoblin Atom Feed" />
17        <link rel="shortcut icon" href="/images/goblin.ico" />
18
19<!--
20<rdf:RDF xmlns="http://web.resource.org/cc/"
21         xmlns:dc="http://purl.org/dc/elements/1.1/"
22         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
23<Work rdf:about="http://mediagoblin.org/">
24<dc:title>GNU MediaGoblin</dc:title>
25<dc:description></dc:description>
26<license rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/" />
27</Work>
28<License rdf:about="http://creativecommons.org/licenses/by-sa/3.0/">
29</License>
30</rdf:RDF>
31-->
32
33<style type="text/css">
34  /* A quick lash-up to make the site partly readable on mobile. TODO: Fix this
35  properly by switching away from 960.css. */
36  body {
37    min-width: auto;
38  }
39  .container_16 .grid_16 {
40    width: auto;
41    max-width: 960px;
42    float: none;
43  }
44  .container_16 {
45    width: auto;
46    max-width: 960px;
47  }
48  .mediagoblin_header {
49    display: flex;
50    justify-content: space-between;
51    flex-wrap: wrap;
52  }
53  .mediagoblin_content {
54    padding-left: 10px;
55    padding-right: 10px;
56  }
57</style>
58
59</head>
60
61<body id="index">
62  <div class="mediagoblin_body">
63    <div class="container_16">
64      <div class="grid_16 mediagoblin_header">
65        <a class="mediagoblin_logo" href="/"><img src="/images/logo.png"
66                                                  alt="MediaGoblin logo" /></a>
67
68        <div class="mediagoblin_header_right">
69          <a href="/news/">news</a> &middot;
70          <a href="/pages/tour.html">tour</a> &middot;
71          <a href="/pages/join.html">community</a> &middot;
72          <a href="https://my.fsf.org/civicrm/contribute/transact?id=36">donate</a> &middot;
73          <a href="https://docs.mediagoblin.org/en/stable/">documentation</a> &middot;
74          <a href="https://wiki.mediagoblin.org/">wiki (legacy)</a> &middot;
75          <a href="https://todo.sr.ht/~mediagoblin/mediagoblin">bug tracker</a> &middot;
76          <a href="https://issues.mediagoblin.org/">bug tracker (legacy)</a> &middot;
77          <a href="https://builds.sr.ht/~mediagoblin/mediagoblin" title="Continuous integration builds">CI</a> &middot;
78          <a href="https://git.sr.ht/~mediagoblin/mediagoblin">code</a>
79        </div>
80
81      </div>
82    </div>
83
84
85    <div class="container_16 mediagoblin_content">
86<div class="grid_16">
87            <section>
88                <ol id="posts-list" class="hfeed" start="9">
89
90                    <article>
91                        <header>
92                            <h1 class="entry-title">
93                                <a href="/news/mediagoblin-0.15.0-release.html"
94                                   rel="bookmark" title="Permalink to MediaGoblin 0.15.0">
95                                   MediaGoblin 0.15.0
96                                </a>
97                            </h1>
98                        </header>
99
100                        <div class="entry-content">
101<footer class="asset-header">
102
103  <div class="byline">
104    By Ben Sturmfels on
105    <abbr class="published" title="2026-02-26T00:00:00-06:00">Thu 26 February 2026</abbr>
106  </div>
107
108      |
109      tags:       <a href="/tag/release.html">release</a>
110
111  
112</footer><!-- /.post-info -->                            <p>We're pleased to announce the release of GNU MediaGoblin 0.15.0. See the
113<a href="https://docs.mediagoblin.org/en/stable/siteadmin/relnotes.html">release notes</a>
114for full details and upgrading instructions.</p>
115<p>This is a relatively small release to resolve installation issues on Debian
116Trixie and Bookworm.</p>
117<p>This version has been tested on Debian Bookworm (12), Debian Trixie (13), Ubuntu
11822.04, Ubuntu 24.04 and Fedora 43. This release drops support for Debian
119Bullseye (11) and Ubuntu 20.04.</p>
120<p>To join us and help improve MediaGoblin, please visit our <a href="/pages/join.html">getting
121involved</a> page.</p>
122                        </div><!-- /.entry-content -->
123
124                        <hr/>
125                    </article>
126
127
128                    <article>
129                        <header>
130                            <h1 class="entry-title">
131                                <a href="/news/mediagoblin-0.14.0-release.html"
132                                   rel="bookmark" title="Permalink to MediaGoblin 0.14.0">
133                                   MediaGoblin 0.14.0
134                                </a>
135                            </h1>
136                        </header>
137
138                        <div class="entry-content">
139<footer class="asset-header">
140
141  <div class="byline">
142    By Ben Sturmfels on
143    <abbr class="published" title="2024-08-29T00:00:00-05:00">Thu 29 August 2024</abbr>
144  </div>
145
146      |
147      tags:       <a href="/tag/release.html">release</a>
148
149  
150</footer><!-- /.post-info -->                            <p>We're pleased to announce the release of GNU MediaGoblin 0.14.0. See the
151<a href="https://docs.mediagoblin.org/en/stable/siteadmin/relnotes.html">release notes</a>
152for full details and upgrading instructions.</p>
153<p>Highlights of this release are:</p>
154<ul>
155<li>Preliminary support for Docker installation</li>
156<li>Preliminary support for OS packaging on GNU Guix</li>
157<li>
157Major configure/build overhaul</li>
158<li>Extended configuration documentation</li>
159</ul>
160<p>This version has been tested on Debian Bookworm (12), Ubuntu 20.04, Ubuntu
16122.04, Ubuntu 24.04 and Fedora 39.</p>
162<p>Thanks go to co-maintainer Olivier Mehani for his major contributions in this
163release!</p>
164<p>To join us and help improve MediaGoblin, please visit our <a href="/pages/join.html">getting
165involved</a> page.</p>
166                        </div><!-- /.entry-content -->
167
168                        <hr/>
169                    </article>
170
171
172                    <article>
173                        <header>
174                            <h1 class="entry-title">
175                                <a href="/news/mediagoblin-0.13.0-release.html"
176                                   rel="bookmark" title="Permalink to MediaGoblin 0.13.0">
177                                   MediaGoblin 0.13.0
178                                </a>
179                            </h1>
180                        </header>
181
182                        <div class="entry-content">
183<footer class="asset-header">
184
185  <div class="byline">
186    By Ben Sturmfels on
187    <abbr class="published" title="2023-10-18T00:00:00-05:00">Wed 18 October 2023</abbr>
188  </div>
189
190      |
191      tags:       <a href="/tag/release.html">release</a>
192
193  
194</footer><!-- /.post-info -->                            <p>We're pleased to announce the release of MediaGoblin 0.13.0. See the <a href="https://docs.mediagoblin.org/en/stable/siteadmin/relnotes.html">release
195notes</a> for full
196details and upgrading instructions.</p>
197<p>This minor release adds support for Python 3.10 and 3.11 and drops support for
198Python versions prior to 3.7. It also upgrades a number of Python dependencies
199and adds a few small bug fixes and improvements.</p>
200<p>This version has been tested on Debian Bullseye (11), Debian Bookworm (12),
201Ubuntu 20.04, Ubuntu 22.04 and Fedora 39.</p>
202<p>Thanks go to Olivier Mehani, Michael McMahon, Andrew Dudash for their
203contributions in this release!</p>
204<p>To join us and help improve MediaGoblin, please visit our <a href="/pages/join.html">getting
205involved</a> page.</p>
206                        </div><!-- /.entry-content -->
207
208                        <hr/>
209                    </article>
210
211
212                    <article>
213                        <header>
214                            <h1 class="entry-title">
215                                <a href="/news/mediagoblin-0.12.1-release.html"
216                                   rel="bookmark" title="Permalink to MediaGoblin 0.12.1">
217                                   MediaGoblin 0.12.1
218                                </a>
219                            </h1>
220                        </header>
221
222                        <div class="entry-content">
223<footer class="asset-header">
224
225  <div class="byline">
226    By Ben Sturmfels on
227    <abbr class="published" title="2023-04-11T00:00:00-05:00">Tue 11 April 2023</abbr>
228  </div>
229
230      |
231      tags:       <a href="/tag/release.html">release</a>
232
233  
234</footer><!-- /.post-info -->                            <p>We're pleased to announce the release of MediaGoblin 0.12.1. See the <a href="https://docs.mediagoblin.org/en/stable/siteadmin/relnotes.html">release
235notes</a> for full
236details and upgrading instructions.</p>
237<p>This patch release fixes a number of Python dependency issues, allows us to
238support newer autoconf versions, fixes a few small bugs and improves the
239documentation. Support for Debian Bookwork, Ubuntu 22.04 and Fedora 36 is
240notably missing from this release, but will be addressed in the upcoming version
2410.13.0.</p>
242<p>Thanks go to Olivier Mehani, Elisei Roca, Jgart, Dan Helfman and Peter Horvath
243for their contributions in this release. Since our last release, long-time
244MediaGoblin user and contributor Olivier has joined me as co-maintainer on the
245project. Thanks for all your help Olivier!</p>
246<p>To join us and help improve MediaGoblin, please visit our <a href="/pages/join.html">getting
247involved</a> page.</p>
248                        </div><!-- /.entry-content -->
249
250                        <hr/>
251                    </article>
252
253
254                    <article>
255                        <header>
256                            <h1 class="entry-title">
257                                <a href="/news/mediagoblin-0.12.0-release.html"
258                                   rel="bookmark" title="Permalink to MediaGoblin 0.12.0: Potions">
259                                   MediaGoblin 0.12.0: Potions
260                                </a>
261                            </h1>
262                        </header>
263
264                        <div class="entry-content">
265<footer class="asset-header">
266
267  <div class="byline">
268    By Ben Sturmfels on
269    <abbr class="published" title="2021-09-18T00:00:00-05:00">Sat 18 September 2021</abbr>
270  </div>
271
272      |
273      tags:       <a href="/tag/release.html">release</a>
274
275  
276</footer><!-- /.post-info -->                            <figure>
277    <img src="/blog_images/0.12.0/20210130-4-potions.medium.jpg"
278         alt="Potions" />
279         <figcaption><a href="https://art.dressupgeekout.com/u/charlotte/m/potions/">"Potions"</a> by <a href="https://dressupgeekout.com/">Charlotte Koch</a>
280    (reproduced with permission)</figcaption>
281</figure>
282
283<p>Happy Software Freedom Day! Today we're pleased to announce the release of
284MediaGoblin 0.12.0. See the <a href="https://docs.mediagoblin.org/en/stable/siteadmin/relnotes.html">release
285notes</a> for full
286details and upgrading instructions.</p>
287<p>This release resolves two significant issues in the Celery backend media
288processing. The first was causing processed media to be marked as failed and the
289second was inhibiting useful error messages. We've also resolved installation
290issues caused by deprecated upstream code in the Werkzeug and jsonschema
291libraries.</p>
292<p>We've added provisional <code>gmg serve</code> and <code>gmg celery</code> commands to simplify
293deployment. These commands may change in the future and are not yet recommended
294in the deployment documentation. If your deployment is already running smoothly,
295there's no reason to switch at this stage.</p>
296<p>Thanks to Rodrigo Martins, Marco Pessotto and Jgart for their contributions in
297this release. Thanks again to Charlotte for allowing us to feature her artwork.</p>
298<p>To join us and help improve MediaGoblin, please visit our <a href="/pages/join.html">getting
299involved</a> page.</p>
300                        </div><!-- /.entry-content -->
301
302                        <hr/>
303                    </article>
304
305
306                    <article>
307                        <header>
308                            <h1 class="entry-title">
309                                <a href="/news/mediagoblin-0.11.0-release.html"
310                                   rel="bookmark" title="Permalink to MediaGoblin 0.11.0: Punky Magmalian">
311                                   MediaGoblin 0.11.0: Punky Magmalian
312                                </a>
313                            </h1>
314                        </header>
315
316                        <div class="entry-content">
317<footer class="asset-header">
318
319  <div class="byline">
320    By Ben Sturmfels on
321    <abbr class="published" title="2021-03-10T00:00:00-06:00">Wed 10 March 2021</abbr>
322  </div>
323
324      |
325      tags:       <a href="/tag/mediagoblin.html">mediagoblin</a>
326      <a href="/tag/release.html">release</a>
327
328  
329</footer><!-- /.post-info -->                            <figure>
330    <img src="/blog_images/0.11.0/20210130-3-punky.jpg"
331         alt="Punky Magmalian Portrait" />
332         <figcaption><a href="https://art.dressupgeekout.com/u/charlotte/m/punky-magmalian-portrait/">"Punky Magmalian Portrait"</a> by <a href="https://dressupgeekout.com/">Charlotte Koch</a>
333    (reproduced with permission)</figcaption>
334</figure>
335
336<p>This release of MediaGoblin removes support for Python 2 and marks the end of
337five years of concurrent support for both Python 2 and Python 3. That's a major
338achievement, so congratulations to everyone who contributed.</p>
339<p>As a bonus, the release also includes a completely rewritten replacement for
340the previously Python 2-only audio spectrograms feature. Thank you to Fernando
341Gutierrez for this contribution; it's a significant piece of work. The release
342also includes contributions from Jeremy Bowman, Jesús Eduardo Estupiñan Medina,
343Charlotte Koch, Olivier Mehani, milquetoast and Ben Sturmfels.</p>
344<p>On reflection, the Python 3 transition has been bitter-sweet. Without doubt,
345Python 3 is both technically and ergonomically superior to Python 2, but I don't
346think anyone in the Python community realised quite how long or how much work
347the transition would be. It's been an especially challenging time for small
348projects like MediaGoblin and for anyone supporting a significant Python
349codebase on limited resources. Looking forward though, ending support for Python
3502 significantly simplifies the maintenance of the project, making it easier to
351add new features and prevent bugs. We're really excited about this! Although
352we're not bug-free yet, as of this release our test suite is passing 100% and
353we'll be continuing with further quality improvements.</p>
354<p>We would like to take this opportunity to acknowledge Boris Bobrov, project
355maintainer and long-time contributor. Boris recently retired from his maintainer
356role which he began in 2016. Thanks Boris for all your hard work, contributions and
357leadership, we really appreciate it!</p>
358<p>This release is named Punky Magmalian after a character created by artist and
359MediaGoblin contributor Charlotte Koch. Take a look at <a
360href="http://dressupgeekout.com/">Charlotte's other work</a> on her MediaGoblin
361site.</p>
362<p>For more details on this release and on upgrading see the <a href="https://docs.mediagoblin.org/en/stable/siteadmin/relnotes.html">release
363notes</a>. To
364join us and help improve MediaGoblin, please visit our <a href="/pages/join.html">getting
365involved</a> page.</p>
366                        </div><!-- /.entry-content -->
367
368                        <hr/>
369                    </article>
370
371
372                    <article>
373                        <header>
374                            <h1 class="entry-title">
375                                <a href="/news/mediagoblin-0.10.0-release.html"
376                                   rel="bookmark" title="Permalink to MediaGoblin 0.10.0 released">
377                                   MediaGoblin 0.10.0 released
378                                </a>
379                            </h1>
380                        </header>
381
382                        <div class="entry-content">
383<footer class="asset-header">
384
385  <div class="byline">
386    By Ben Sturmfels on
387    <abbr class="published" title="2020-05-01T00:00:00-05:00">Fri 01 May 2020</abbr>
388  </div>
389
390      |
391      tags:       <a href="/tag/mediagoblin.html">mediagoblin</a>
392      <a href="/tag/release.html">release</a>
393
394  
395</footer><!-- /.post-info -->                            <p>We're pleased to announce the release of MediaGoblin 0.10.0!</p>
396<p>It's been a while between releases for MediaGoblin, but work has continued
397steadily. Highlights of this release include a new plugin for displaying video
398subtitles and support for transcoding and displaying video in multiple
399resolutions. There have also been a large number of smaller improvements and bug
400fixes which are listed in the <a href="https://docs.mediagoblin.org/en/v0.10.0/siteadmin/relnotes.html">release notes</a>.</p>
401<p>After enabling the new <a href="https://docs.mediagoblin.org/en/v0.10.0/plugindocs/subtitles.html">subtitles
402plugin</a>,
403you can upload and edit captions for your videos. Multiple subtitle tracks are
404supported, such as for different languages. This feature was added by Saksham
405Agrawal during Google Summer of Code 2016 and mentored by Boris Bobrov. The
406feature has been available for some time on the master branch, but it definitely
407deserves a mention for this release.</p>
408<figure>
409    <img src="/blog_images/0.10.0/video-subtitles.jpg"
410         alt="A screenshot showing MediaGoblin with subtitles shown on a video" />
411         <figcaption>A video with subtitles added</figcaption>
412</figure>
413
414<p>Videos are now automatically transcoded at various video qualities such as 360p,
415480p and 720p. You can choose your preferred quality while watching the video.
416This feature was added by Vijeth Aradhya during Google Summer of Code 2017 and
417mentored by Boris Bobrov. Again this feature has been available for some time on
418master, but is also worthy of a mention.</p>
419<figure>
420    <img src="/blog_images/0.10.0/video-quality.jpg"
421         alt="A screenshot showing the video quality selector in MediaGoblin" />
422         <figcaption>Selecting a video quality</figcaption>
423</figure>
424
425<p>For details on installing MediaGoblin, see <a href="https://docs.mediagoblin.org/en/v0.10.0/siteadmin/deploying.html">Deploying
426MediaGoblin</a>
427and for tips on upgrading, see the <a href="https://docs.mediagoblin.org/en/v0.10.0/siteadmin/relnotes.html">release
428notes</a>. To
429join us and help improve MediaGoblin, please visit our <a href="/pages/join.html">getting
430involved</a> page!</p>
431                        </div><!-- /.entry-content -->
432
433                        <hr/>
434                    </article>
435
436
437                    <article>
438                        <header>
439                            <h1 class="entry-title">
440                                <a href="/news/still-here-in-2020.html"
441                                   rel="bookmark" title="Permalink to We're still here!">
442                                   We're still here!
443                                </a>
444                            </h1>
445                        </header>
446
447                        <div class="entry-content">
448<footer class="asset-header">
449
450  <div class="byline">
451    By Ben Sturmfels on
452    <abbr class="published" title="2020-04-07T00:00:00-05:00">Tue 07 April 2020</abbr>
453  </div>
454
455      |
456      tags:       <a href="/tag/mediagoblin.html">mediagoblin</a>
457
458  
459</footer><!-- /.post-info -->                            <p>Hello Goblin-Lovers! [tap tap] Is this thing still on? ... Great! Well, we've
460had a few polite questions as to what's happening in MediaGoblin-land, given our
461last blog post was a few years back. Let's talk about that.</p>
462<p>While development on MediaGoblin has slowed over the last few years, work has
463continued steadily, with significant improvements such as multi-resolution video
464(Vijeth Aradhya), video subtitles (Saksham) and a bunch of minor improvements
465and bug-fixes. Like most community-driven free software projects, progress only
466happens when people show up and make it happen. See below for a list of the
467wonderful people who have contributed over the last few years. Thank you all
468very much!</p>
469<p>In recent years, Chris Lemmer Webber has stepped back from the role of
470much-loved project leader to focus on ActivityPub and the standardisation of
471federated social networking protocols. That process was a lot of work but
472ultimately successful with <a href="https://www.w3.org/TR/activitypub/">ActivityPub becoming a W3C
473recommendation</a> in 2018 and going on to be
474adopted by a range of social networking platforms. Congratulations to Chris,
475Jessica and the other authors on the success of ActivityPub! In particular
476though, we would like to express our gratitude for Chris's charismatic
477leadership, community organising and publicity work on MediaGoblin, not to
478mention the coding and artwork contributions. Thanks Chris!</p>
479<p>During this time Andrew Browning, Boris Bobrov and Simon Fondrie-Teitler have
480led the MediaGoblin project, supported the infrastructure and worked with
481numerous new contributors to add new features and bug-fixes. More recently, I've
482stepped up to support them and deal with some of the project admin. I've also
483been working an exciting pilot project here in Australia using MediaGoblin to
484<a href="https://www.sturm.com.au/blog/preserving-indigenous-culture-using-mediagoblin/">publish culturally significant
485media</a>
486in remote indigenous communities.</p>
487<p>Back in February we held the first community meeting in quite a while. We met
488via a Mumble audio-conference and <a href="https://lists.gnu.org/archive/html/mediagoblin-devel/2020-02/msg00020.html">discussed short-term project
489needs</a>
490including problems with the issue tracker, urgent/blocking bugs, a release, a
491bug squashing party, and the need for this blog post. Next meeting we'll be
492diving into some of the longer-term strategy. Keep an eye on the mailing list
493for the announcement and please join us.</p>
494<p>Based on that meeting, our current short-term priorities are:</p>
495<ol>
496<li>
497<p>Improve/replace the issue tracker. There was general agreement that our
498   current issue tracker, Trac, is discouraging new contributions. Firstly,
499   registrations and notifications were not working properly. Secondly, the
500   process of submitting code is more complicated than other modern
501   collaboration tools. Our friends at FSF are currently working to select a <a href="https://libreplanet.org/wiki/Fsf_2019_forge_evaluation">new
502   collaboration tool</a>,
503   so we'll look forward to evaluating their recommendation when it is
504   announced. In the short-term, we've fixed the registration and notification
505   problems with Trac to keep us going.</p>
506</li>
507<li>
508<p>Make a minor release. A release is an important opportunity to highlight the
509   work that's been done over the last few years such as the multi-resolution
510   video and subtitles I mentioned, as well as important fixes such as to audio
511   upload in Python 3. This will likely also be our last Python 2-compatible
512   release. Many of MediaGoblin's dependencies are beginning to drop support for
513   Python 2, and time troubleshooting such installation issues takes away from
514   our forward-looking work.</p>
515</li>
516<li>
517<p>Organise a bug triage/fixing day. We're planning to nominate a day where a
518   group MediaGoblin contributors will make a concerted effort to resolve bugs.
519   This is aided by having a team across many timezones.</p>
520</li>
521<li>
522<p>Automate testing of the installation process and test suite. Many of the
523   questions we get to the mailing list are installation or dependency related.
524   By automating our testing, hopefully across a number of popular operating
525   systems, we should be able to reduce these issues and improve the
526   installation experience.</p>
527</li>
528</ol>
529<p>We'll look forward to telling you about our longer-term plans soon! For now
530though, from all of us hear at MediaGoblin, please take care of yourselves, your
531families and communities through the ongoing COVID-19 health crisis.</p>
532<p>Contributors in the last few years:</p>
533<ul>
534<li>Andrew Browning (aleph): bug fixes and improvements, merging contributions</li>
535<li>Boris Bobrov: bug fixes and improvements, merging contributions</li>
536<li>Chris Lemmer Webber: bug fixes and improvements, community organising, 
537ActivityPub</li>
538<li>Jessica Tallon: bug fixes and improvements, ActivityPub</li>
539<li>Vijeth Aradhya: multiple-resolition video transcoding/switching</li>
540<li>Simon Fondrie-Teitler: upgraded/migrated/managed hosting for website, 
541Trac, mailing lists and wiki</li>
542<li>Saksham: lightbox, video subtitles</li>
543<li>Amelia Rose: bug squashing parties</li>
544<li>Ben Sturmfels: bug fixes and improvements, migrated mailing lists</li>
545<li>Iyzsong: bug fixes</li>
546<li>Berker Peksag: Python 3 bug fixes</li>
547<li>Johnathan Sandoval: login validation improvement</li>
548<li>
548Leah Velleman: localisation</li>
549<li>Loic Dachary: cleanups</li>
550<li>Matt Dealsy: UI improments (PyCon AU 2016 sprint)</li>
551<li>Kesra: bug fixes (PyConAU 2016 sprint)</li>
552<li>Josh Crompton: UI improvements (PyCon AU 2016 sprint)</li>
553<li>Olivier Mehani (shtrom): OSM tiles, datetime format config</li>
554<li>Alexandre Frankie: docs improvements</li>
555<li>Stéphane Péchard: collection option to addmedia</li>
556<li>Robert Smith: bug fixes</li>
557<li>Simen Heggestøyl: bug fixes and improvements</li>
558<li>Romain Porte: tags in API</li>
559<li>Chrysn: EXIF rotation</li>
560<li>DPG: license option updates</li>
561<li>Dod: bug fixes</li>
562<li>Michael Lynch: dev setup improvements</li>
563<li>Ian Kelling: set up and imported our mailing lists (twice!)</li>
564<li>... and apologies to anyone else I've missed</li>
565</ul>
566                        </div><!-- /.entry-content -->
567
568                        <hr/>
569                    </article>
570
571
572                    <article>
573                        <header>
574                            <h1 class="entry-title">
575                                <a href="/news/tpac-2016-and-review-activitypub.html"
576                                   rel="bookmark" title="Permalink to ActivityPub and MediaGoblin at TPAC 2016 (or: ActivityPub needs your review!)">
577                                   ActivityPub and MediaGoblin at TPAC 2016 (or: ActivityPub needs your review!)
578                                </a>
579                            </h1>
580                        </header>
581
582                        <div class="entry-content">
583<footer class="asset-header">
584
585  <div class="byline">
586    By Christopher Allan Webber on
587    <abbr class="published" title="2016-10-05T11:45:00-05:00">Wed 05 October 2016</abbr>
588  </div>
589
590      |
591      tags:       <a href="/tag/activitypub.html">activitypub</a>
592      <a href="/tag/standards.html">standards</a>
593      <a href="/tag/w3c.html">w3c</a>
594      <a href="/tag/tpac.html">tpac</a>
595
596  
597</footer><!-- /.post-info -->                            
598
599<p class="centered">
600  <a href="https://www.w3.org/TR/activitypub/">
601    <img src="/blog_images/activitypub_wd_2016-09-04.png" alt="Screenshot of ActivityPub Working Draft" />
602  </a>
603</p>
604
605<p>
606  Hello everyone!
607  We have a lot of news to cover, but I'm going to jump right into the
608  thick of it: we've been working hard on a new federation (as well as
609  client to server) standard called
610  <a href="https://www.w3.org/TR/activitypub/">ActivityPub</a>
611  (formerly ActivityPump).
612  We've made tremendous progress, and I was just recently at a face to
613  face meeting at <a href="https://www.w3.org/2016/09/TPAC/">TPAC</a>,
614  the W3C's big technical conference.
615</p>
616
617<p>
618  The good news: ActivityPub is aiming to hit Candidate Recommendation
619  status by October 11th.
620  (That's less than a week away!)
621  However, in order to enter that stage, we need <i>your review!</i>
622  If you have any interest in the decentralized web, you can help.
623  All you have to do is
624  <a href="https://w3c.github.io/activitypub/">read the latest editor's</a>
625  draft and provide feedback.
626  (The earlier the better... maybe a fun weekend project?)
627  You can do this by any of the following:
628</p>
629
630<ul>
631  <li>
632    Post
633    <a href="https://github.com/w3c-social/activitypub/issues">issues on the issue tracker</a>
634    (yes, I think it's ironic and problematic that we're using GitHub,
635    I picked my battles here, whether right or wrong).
636  </li>
637  <li>
638    Email the
639    <a href="http://lists.w3.org/Archives/Public/public-socialweb-comments/">social working group comments</a>
640    mailing list.
641  </li>
642  <li>
643    You can email me directly.
644    Email cwebber AT dustycloud DOT org, and include "ActivityPub" in
645    the subject.
646    Note that I will be publishing your comments publicly, probably
647    on the Social Working Group wiki!
648  </li>
649</ul>
650
651<p>
652  If you have feedback, we want to hear it!
653  (From anyone, but <i>especially</i> from those who are interested in
654  implementing ActivityPub!)
655  Thank you!
656</p>
657
658<h2>ActivityPub live</h2>
659
660<p><i>
661  Note, the rest of this post is a bit of a dive into behind the scenes
662  decisions and activity in MediaGoblin and ActivityPub... there's no need to
663  read this part to submit a review!
664</i></p>
665
666<p>
667  I'm kind of traveling through time in all the wrong order in this post...
668  but it's worth jumping forward a bit to see the results of what we've done.
669  Over the last many months there's been a huge push on ActivityPub as a
670  standard, as we'll talk about.
671  But in order to succeed, I also needed implementations, both of client to
672  server and server to server.
673  Well, I'm happy to say that those did come together...
674</p>
675
676<p class="blog_image">
677  <a href="/blog_images/pubstrate-2016-09-14.png">
678    <img src="/blog_images/pubstrate-2016-09-14-scaled.png" alt="Pubstrate in action!" /></a>
679</p>
680
681<p>
682  This is <a href="https://gitlab.com/dustyweb/pubstrate">Pubstrate</a>,
683  an implementation of ActivityStreams and ActivityPub for
684  <a href="https://www.gnu.org/software/guile/">GNU Guile</a>.
685  Sorry for the sappy embedded love-note, though what's nice about this
686  is that it's the first demo I gave to someone else of the client to
687  server functionality working in Pubstrate.
688  But wait, what was the client?
689</p>
690
691<p class="blog_image">
692  <a href="/blog_images/soci-el-2016-09-14.png">
693    <img src="/blog_images/soci-el-2016-09-14-scaled.png" alt="Soci-El in action!" /></a>
694</p>
695
696<p>
697  This is <a href="https://gitlab.com/dustyweb/soci-el">soci-el</a>,
698  an ActivityPub client written in... you guessed it... emacs lisp.
699  You can see the rendering of the user's outbox here as well as the
700  buffers from which the message was composed.
701</p>
702
703<p>
704  Pretty nerdy!
705  I don't expect everyone to be using emacs as an ActivityPub client of
706  course... I hope to see various desktop, web, and mobile clients
707  made available.
708  But, Emacs is the most fun for me, and I was time pressed, so
709  there we are.
710</p>
711
712<p>
713  Everyone loves seeing screenshots, but maybe not all of this stuff
714  makes sense without context.
715  What does this mean for MediaGoblin?
716</p>
717
718<h2>So what's been going on?</h2>
719
720<!-- - So what's been going on?
721     Talk about despite an appearance of absence, I've been working furiously...
722   -->
723
724<p>
725  It seems a recurring meme in MediaGoblin land to say "we've been quiet, because
726  we've been busy" (or maybe historically on every tech blog ever), but I guess
727  I can't resist repeating the mantra.
728  It's true!
729  Though the weight of my focus has been shifted from where I expected it to be.
730  From the
731  <a href="http://mediagoblin.org/news/mediagoblin-0.9.0-three-goblineers.html">last</a>
732  <a href="http://mediagoblin.org/news/stripe-retreat-state-of-the-goblin.html">few</a>
733  <a href="http://mediagoblin.org/news/state-of-the-goblin-september-2015.html">updates</a>
734  over the last year, you would be right to anticipate that the main thing I would
735  be working on would be merging the
736  <a href="http://mediagoblin.org/news/state-of-federation.html">federation code Jessica
737    has written</a>
738  and getting 1.0 out the door.
739  That was the plan, and we're still working towards that, but
740  priorities shifted as we realized the opportunities and time
741  pressures we were under with ActivityPub.
742  After the Social Working Group
743  <a href="https://www.w3.org/wiki/Socialwg/2016-06-06">face to face meeting in June</a>,
744  Jessica and I sat down and talked about what we should do.
745  Jessica had recently started working at
746  <a href="https://www.igalia.com/">Igalia</a> (great people!) and
747  was busy with that and other transitions in her life, so we discussed
748  whether we thought it was most sensible to focus my energy on MediaGoblin
749  or on ActivityPub.
750  It was clear that ActivityPub was shaping into a solid specification,
751  but it was also made clear that the Social Working Group's charter was
752  running out by the end of 2016.
753  We both think ActivityPub is key to MediaGoblin's success and didn't want
754  to see our invested time go to waste, so decided my immediate focus
755  should switch to ActivityPub so it could successfully make it as
756  a standard.
757</p>
758
759<p>
760  Which isn't doom and gloom for MediaGoblin!
761  MediaGoblin development has continued... the community is good enough that
762  people have been able to work while I've been busy.
763  I'm happy to say we also appointed longtime contributor Boris Bobrov as
764  co-maintainer to help reduce me being a bottleneck.
765  (Thank you Boris, and congrats!)
766  Other contributors have also stepped up to the plate.
767  I'm especially thankful of Ben Sturmfels for hosting MediaGoblin hackathons
768  and being so responsive to community members.
769  (And of course, there are many others to thank, too!)
770</p>
771
772<!--   + I realized I was going to have to go head down... so I spent my effort on
773     ActivityPub, and ActivityPub implementations...
774   -->
775<p>
776  Anyway, I'm not going anywhere, I've just been shifting focus to standards
777  work for a bit... but it's all for the greater good of MediaGoblin.
778  (Well, and the greater federated social web!)
779  Soon, we'll be putting the work we're doing on ActivityPub directly
780  into MediaGoblin.
781  When we merge Jessica's work on federation, we will also retool it so that
782  the first federated release of MediaGoblin will be blazing the trails with
783  ActivityPub.
784</p>
785
786<!--   + Amy visiting... -->
787
788<!-- TODO: Amy photo here -->
789
790<p>
791  Both ActivityPub and I personally got a significant boost by a happy visit
792  from friend and Social Working Group co-conspirator Amy Guy.
793  Amy dropped by for an intense four days of standards hacking and scheming,
794  and came up with several significant ways to restructure and improve the
795  document.
796  With her help, we now have much clearer distinction between the use of
797  ActivityPub as a client to server protocol (think mobile applications and
798  desktop applications connecting to your server) vs the server to server
799  protocol (federation).
800  Both of these are now clearly intertwined in the document, but are distinct
801  enough where they can be used and understood separately if desired.
802  We also more clearly established the connections between ActivityPub and
803  the linked data community by explaining ActivityPub's relationship with
804  <a href="https://www.w3.org/TR/ldn/">Linked Data Notifications</a>.
805</p>
806
807<p>
808  Amy has a gift for composing standards language, something I'm still
809  struggling to learn (but hopefully getting better with over time).
810  ActivityPub is much better with her hard work.
811  Thank you Amy!
812</p>
813
814<!--   + hopefully I could get them ready in time for... -->
815
816<p>
817  In addition to the standards side of things, in order to get ActivityPub to
818  the next level, we needed to be able to present real live demonstrations
819  of the standard in action.
820  Hence the work on Pubstrate and soci-el mentioned previously.
821  For most of the months before TPAC, I was working furiously day and night
822  to get things ready to show...
823  And then, it was time to head off, and hope it was good enough...
824</p>
825
826<!-- - TPAC! -->
827<h2>TPAC</h2>
828
829<p class="blog_image">
830  <a href="https://www.w3.org/wiki/File:2016-09-21-socialwg-breakout.jpg">
831    <img src="/blog_images/2016-09-21-socialwg-breakout-by-aaronpk-scaled.jpg" alt="Live demo image, by aaronpk" />
832  </a>
833  <br />
834  <em>
835    TPAC demo room photo by
836    <a href="https://aaronparecki.com/">Aaron Parecki</a>
837  </em>
838</p>
839
840<p>
841  Fortunately, all that hard work paid off.
842  The Social Working Group kicked off TPAC with live open-viewing
843  demonstrations of the various standards we've been working on.
844  We got in a really solid set of demos from everyone in the
845  group.
846</p>
847
848<!--   + Giving live demos -->
849
850<p>
851  From my end, I managed to demo all the core parts of the ActivityPub
852  spec: I wrote a note in my client (soci-el), fired it off to the server
853  (Pubstrate), where it rendered successfully.
854  Then I explained, well, what if you want someone on another machine to
855  see it?
856  So I had another user on a separate Pubstrate instance, added
857  the user over there to the recipients list on my message, shot
858  the message over to the server, crossed my fingers and hey!
859  The live demo of federation succeeded.
860  (Whew!)
861</p>
862
863<!--   + State of the specs post-meeting -->
864
865<p>
866  In the actual main Social Working Group meeting, we hammered things
867  forward pretty nicely.
868  As said, ActivityPub was positioned to move ahead towards
869  Candidate Recommendation by the 11th.
870  Again, your feedback is most valuable at this time!
871</p>
872
873<!--   + One more thing: at Amy Guy's suggestion, I showed off the
874         MediaGoblin campaign video -->
875
876<p class="blog_image">
877  <a href="/pages/campaign.html">
878    <img src="/images/campaign/video2_poster-surveillance.png" alt="Spying image from the campaign video" /></a>
879</p>
880
881<p>
882  Oh, one more thing.
883  On the second day of the main Social Working Group meetings,
884  at Amy's suggestion (apparently she was impressed when I showed her
885  at her visit), I showed off the MediaGoblin campaign video to
886  the group.
887  Apparently I had never done so previously, so it was really nice
888  to hear the reaction: "Holy cow, this is describing exactly the
889  type of stuff we're working on in the working group!"
890  Yep, exactly... all that stuff you see illustrated in that video,
891  we're working on putting into code and standards.
892  The dream lives!
893</p>
894
895<p>
896  So, all this Social Working Group stuff... things are happening!
897  We're not just goofing off!
898</p>
899
900<p class="blog_image">
901    <video src="/blog_images/2016-09-23-socialwg-group-animated-by-aaronpk.webm" autoplay loop></video>
902  <br />
903  <em>
904    Super serious TPAC group "photo" by
905    <a href="https://aaronparecki.com/">Aaron Parecki</a>
906  </em>
907</p>
908
909<p>
910  ... er, right.
911  Not <em>just</em> goofing off! :)
912</p>
913
914
915                        </div><!-- /.entry-content -->
916
917                        <hr/>
918                    </article>
919
920
921                    <article>
922                        <header>
923                            <h1 class="entry-title">
924                                <a href="/news/mediagoblin-0.9.0-three-goblineers.html"
925                                   rel="bookmark" title="Permalink to MediaGoblin 0.9.0: The Three Goblineers">
926                                   MediaGoblin 0.9.0: The Three Goblineers
927                                </a>
928                            </h1>
929                        </header>
930
931                        <div class="entry-content">
932<footer class="asset-header">
933
934  <div class="byline">
935    By Deb Nicholson on
936    <abbr class="published" title="2016-03-29T13:00:00-05:00">Tue 29 March 2016</abbr>
937  </div>
938
939      |
940      tags:       <a href="/tag/mediagoblin.html">mediagoblin</a>
941      <a href="/tag/release.html">release</a>
942
943  
944</footer><!-- /.post-info -->                            
945
946<p class="centered">
947  <img src="/blog_images/0.9.0/three_goblineers-crop.png" alt="MediaGoblin 0.9.0: The Three Goblineers" />
948  <br />
949  <i>
950    "The Three Goblineers" by Christopher Allan Webber (pen and ink)
951    and Morgan Lemmer-Webber (colored pencils).
952    Licensed under
953    <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.
954  </i>
955</p>
956
957<p>
958  This release is called The Three Goblineers, because we are finally fully
959  embracing Python 3!
960  You could even think of this release as Py-oneering, which it definitely
961  is.
962  Many traditional web service tools are less-than-ideal for federation and
963  so we've had to do a lot of rebuilding and retooling.
964  This release represents lots of intense behind the scenes work to make
965  the user experience smoother, as well as some key improvements for
966  MediaGoblin developers and deployers.
967</p>
968
969<p>
970  Federated services use databases in a some fundamentally different
971  ways.
972  We had to make a traditional (rigid) database more friendly for more
973  flexible relationships.
974  The result is similar to the generic foreign key implementation used by
975  Django, but optimized especially for federation.
976  Jessica Tallon did the lion's share of this work and was aided by Andrew
977  Browning who did extensive testing.
978</p>
979
980<p>
981  We also updated how we handle comments and media collections.
982  On a multi-media service, people will naturally want to reply to comments
983  with videos and to ASCII art with songs so we had to make our commenting
984  function support all the available media types.
985  Also, the media collections aren't just for your personal gallery
986  anymore; they're also used now in federation and the API as the backbone
987  of a user's "inbox" and "outbox" feeds.
988  Also, to make life easier on those uploading whole albums of content, if
989  your user has some collections available, these will be presented as a
990  dropdown option while submitting media.
991</p>
992
993<p class="blog_image">
994  <a href="/blog_images/0.9.0/select_collection.png">
995    <img src="/blog_images/0.9.0/select_collection-scaled.png" alt="Selecting a collection during submit" /></a>
996</p>
997
998<p>
999  In the less visible but equally important department, we updated OAuth
1000  and created a "graveyard" system.
1001  We updated our code to make better and more secure use of OAuth so that
1002  my server and your server can be really sure we are actually talking to
1003  each other.
1004  The "graveyard" system uses tombstone icons to let you know that an
1005  object was removed by it's original poster.
1006  This makes it easy for users to remove media they no longer want to
1007  share, while creating as little confusion as possible for other users.
1008</p>
1009
1010<p><pre>
1011              *                      *
1012 *                      *                  _.     *
1013      *           *          *            &lt;  '.
1014             *                             )  )       *
1015                                    *     &lt;_.'   *
1016    *      *        .-------------.
1017                  .'               '.                *
1018       *          |                 |   *
1019                  |   TOMB OF THE   |       *
1020            *     |     UNKNOWN     |            *
1021   *              | ACTIVITYSTREAMS |
1022                  |     OBJECT      |
1023             .^.  |                 |
1024  _  .+.  _  |~|  |    ????-????    |  .+. .-.  _  .-.
1025 | | |~| |=| | |  |                 |  |=| |~| | | |"|
1026``'`'`''``'`'`'`'``'``'`'`''``'`'`'`'``'`''``''``'`'`''
1027</pre></p>
1028
1029<p>
1030  Developers will be happy to know that we are keeping pace with the larger
1031  Python community and now have complete support for Python 3.
1032  We had
1033  <a href="http://mediagoblin.org/news/mediagoblin-0.8.0-gallery-of-fine-creatures.html">early
1034    and experimental Python 3 support in 0.8.0</a>
1035  but couldn't quite recommend it for production use.
1036  That work is finished!
1037  Now you can choose to hack in Python 3 or Python 2 and your code will be
1038  totally compatible with the main codebase.
1039  Since Python 2 won't be supported forever, Python 3 is the future.
1040  And we are all about the future.
1041</p>
1042
1043<p>
1044  We also switched our migration system over to
1045    <a href="https://alembic.readthedocs.org/en/latest/">Alembic</a>.
1046  Previously, we'd been using
1047    <a href="https://sqlalchemy-migrate.readthedocs.org/en/latest/">sqlalchemy-migrate</a>,
1048    but it also wasn't as good for updating the database layout when you upgrade,
1049  and lots of dragons be there.
1050  We think Alembic will make it less terrifying to update your MediaGoblin
1051  instance so you can stay current and without spending lots of time trying
1052  to sort what happened in the database.
1053  Alembic is also newer, fresher and better maintained!
1054</p>
1055
1056<p>
1057  Another thing that makes updating a little persnickety is finding out that
1058  the dependencies have changed.
1059  We are collaborating and experimenting with the
1060  <a href="http://www.gnu.org/software/guix/">Guix</a> community to fix
1061  this issue.
1062  Cleaner packaging will help people upgrade without fear, using
1063  deployments they can trust.
1064  Watch this space for a future post on how to use Guix and MediaGoblin
1065  together for worry-free upgrades.
1066</p>
1067
1068<p>
1069  For users upgrading from previous versions, as always, check the
1070  <a href="http://docs.mediagoblin.org/en/v0.9.0/siteadmin/relnotes.html">
1071    release notes</a> for instructions on upgrading!
1072</p>
1073
1074<p>
1075  Our work to overthrow the red eminence of the centralized web continues!
1076  Between Python 3 support and laying down foundational changes to support
1077  federation, this release brings us much, much closer to our long term
1078  goals!
1079  Thanks to all our Goblineers and Py-oneers without whom this work would
1080  not be possible!
1081  Give a round of applause to Andrew Browning, Ben Sturmfels, Berker
1082  Peksag, Boris Bobrov, Christopher Allan Webber, Daniel Krol, Deb
1083  Nicholson, Duncan, jerome, Jessica Tallon, Loic Dachary, Sebastian
1084  Spaeth, Tom Fay, and 宋文武!
1085  You all helped make it happen!
1086</p>
1087
1088<p>
1089  And if you want to make it happen in our next exciting release, we'd love
1090  to have you <a href="/pages/join.html">get involved</a>!
1091  Visit us in IRC;
1092  <a href="http://webchat.freenode.net/?channels=mediagoblin">#mediagoblin on freenode.net</a>!
1093  Or sign up for regular updates
1094  <a href="https://lists.gnu.org/mailman/listinfo/mediagoblin-devel">on our mailing list</a>.
1095  Got ideas or questions about our work?
1096  Email us at <a href="[email protected]">[email protected]</a>
1097  -- we look forward to hearing from you!
1098</p>
1099
1100                        </div><!-- /.entry-content -->
1101
1102                        <hr/>
1103                    </article>
1104
1105                </ol><!-- /#posts-list -->
1106<p class="paginator">
1107    Page 1 / 8
1108        <a href="/news/index2.html">&raquo;</a>
1109</p>
1110            </section><!-- /#content -->
1111</div>
1112      <div class="clear"></div>
1113    </div>
1114
1115    <div class="container_16">
1116      <div class="grid_16 mediagoblin_footer">
1117        <p>
1118          MediaGoblin is released under the <a href="http://www.gnu.org/licenses/agpl.html">GNU AGPLv3</a>. Site design released under <a href="http://creativecommons.org/publicdomain/zero/1.0/">CC0</a>. Get and use the <a href="/pages/logo.html" title="Get and use the MediaGoblin logo">MediaGoblin logo</a>.
1119        </p>
1120      </div>
1121    </div>
1122  </div>
1123
1124<!-- Currently not working due to sourcehut CSP "default-src". -->
1125<!-- Matomo -->
1126<script>
1127  var _paq = window._paq = window._paq || [];
1128  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
1129  _paq.push(['trackPageView']);
1130  _paq.push(['enableLinkTracking']);
1131  (function() {
1132    var u="https://matomo.sturm.com.au/";
1133    _paq.push(['setTrackerUrl', u+'matomo.php']);
1134    _paq.push(['setSiteId', '45']);
1135    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
1136    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
1137  })();
1138</script>
1138
1139<noscript><p><img src="https://matomo.sturm.com.au//matomo.php?idsite=45&amp;rec=1" style="border:0;" alt="" /></p></noscript>
1140<!-- End Matomo Code -->
1141</body>
1142</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.