Monday, December 11, 2017

Python 3 support

I created the appypod project on GitHub (#2194).

The next challenge is to continue removing Python 3 test failures in The Lino Book (#36). So I reactivated Python 3 in the .travis.xml file for The Lino Book and started to fix them.

The inv cov command was calling inv prep twice. This was because in atelier.invlib.tasks we had:

@task(name='cov', pre=[tasks.call(prep, cov=True)])
def run_tests_coverage(ctx, html=True, html_cov_dir='htmlcov'):

That was wrong. It must be:

@task(name='cov')
def run_tests_coverage(ctx, html=True, html_cov_dir='htmlcov'):

We don’t need to specify hard-coded dependency between tasks since now we have coverage_command.

Thoughts about the future of Lino

Will Kahn-Greene (the author of Bleach, which Lino uses to avoid problems after pasting content from MS-Word into a text editor field) released html5lib-python 1.0 and tells the story of Bleach and html5lib in his blog post.

He writes about how he helped the html5lib project as an “interim maintainer”. He describes Geoffrey as “He seems to be the only active maintainer. He was really busy with other things, html5lib doesn’t pay at all, there’s a ton of stuff to do, he’s burned out, and recently there have been spats of negative comments in the issues and PRs. Generally the project had a lot of stop energy.”

I recognized myself and Lino. At least partly… there are some differences between Geoffrey/html5lib and Luc/Lino, e.g. I am not burnt out (just limited and getting old), and Lino- unlike html5lib- does pay two full-time developers.

Will then makes another observation which fits Lino as well: “I see a lot of open source projects that are in trouble in the sense that they don’t have a critical mass of people and energy. When the sole part-time volunteer maintainer burns out, the project languishes.” He summarizes his experience as an interim maintainer by saying “it was a successful experiment in regards to achieving my stated goals, but I don’t know if it gave the project much momentum to continue forward.”

What Will did to Geoffrey and html5lib is similar to what I am doing to Gaetan and Appy. It is always delicate to join a one-man project, i.e. a project where a single developer dominates and acts as a “benevolent dictator”. Lino also is a one-man project. Fortunately Lino has Tonis who does very well as my assistant. Nevertheless it will take years before Lino will be a community project. But we are on the way.

A difference between Will and me is that Will is obviously better than me in teamwork. I never learned to work in a team. 25 year old Tonis happens to teach me lessons on how to behave in a team.

People like Will are priceless. Humanity needs such people if we agree that software must be free. But who pays for such people?

I see that Will has been paid by the PCF (Participatory Culture Foundation) who according to their website “develop technology and services that ensure everyone has access to all that the internet has to offer.” Their flagship project is Amara where I watched the first 10 minutes of the moving Story of Aaron Schwartz. And now Will is being paid by Mozilla (a funder of PCF).

Would Mozilla or the PCF be interested in Lino? No, I don’t believe they would invest into Lino because customized database application development is a whole different business. But it is clear that Lino needs some association like Mozilla or the PCF.