Loomio
Tue 18 Aug 2015

Host 'Advanced Sharer for diaspora*' on diasporafoundation.org

JR
Jason Robinson Public Seen by 310

As per this discussion in GitHub, a Mozilla member has indicated that the sharing service for Firefox could be included in the service directory if it was hosted on core project domain instead of GitHub.

Many of us daily rely on Diaspora* Advanced Sharer, which currently is hosted on GitHub, for sharing content to diaspora* pods. For those that don't know what d*as is, it allows routing sharing through a centralized place to any diaspora* pod. This allows not only web sites to embed a button on their site, but also users to share content to multiple pods from the same browser.

D*AS also includes a Firefox Social API extension to add an entry to Firefox's sharing service menu. This is the extension that could be included in the Firefox service directory, if the app was first hosted on a project run server, instead of GitHub.

For fall-back purposes, of course the GitHub version should stay alive, but the Firefox service directory would use the project hosted version.

Any opposition to this, do we need a proposal? It's a little more maintenance overhead compared to hosting it on GitHub, but if hosting another version on the project domain would increase visibility for diaspora*, I'd say it's worth it. I'll volunteer to host it on my server, but we can decide on that after possible voting if someone else is interested too.

The sub-domain could be for example 'share.diasporafoundation.org'?

DS

Dennis Schubert Wed 19 Aug 2015

All the web stuff is already hosted on a host of mine, including the SSL fun. I see no reason to change that for now (check the other discussion for that, too).

No objections on hosting the share widget on a project subdomain. Autodeployment is possible if the github project owner sets up a hook.

JR

Jason Robinson Thu 20 Aug 2015

Awesome, could you set the site up, we could propose inclusion to the Firefox service directory then?

DS

Dennis Schubert Thu 27 Aug 2015

So, I see no objections. However, I want to raise the question if we might want to move sharetodiaspora/sharetodiaspora.github.io into diaspora/share or something. That would simplify the setup of hooks, right management and stuff like that. Any objections?

As far as I can tell, fdavidcl is not on Loomio. @jasonrobinson, could you ask him if he would be fine with that?

JR

Jason Robinson Fri 28 Aug 2015

@dennisschubert sure I can ask. Actually I'm a member of the repo too since at one point he wasn't working on it and gave me full access and we even talked whether it should be "owned" by the project. So I'm sure it's fine.

BUT, I think it needs to be forked by the diaspora organization, not moved. The github hosted one must stay active since it's used by gazillions of places. Also, I think since David has been active lately in the repo, I think he should also have collab access to the forked repo, if we agree that work should be done there and then he/we can port commits to the github hosted one too, since it's likely it will be used by people already using it for a long time.

Does this sound good?

DS

Dennis Schubert Mon 31 Aug 2015

I have set up https://share.diasporafoundation.org/ but in order to make the application "good enough" for us to host, I... basically had to rewrite everything. Here is an excerpt of an mail I just sent to fdavidcl:

I am writing you as one of the core developers at the diaspora* project. Recently, someone opened [an issue inside the Firefox project][1] to include diaspora* as an option inside the "Share" panel in Firefox. Originally, we thought it would be possible to just embed your application, but there have been issues with the trustworthiness since your GitHub Pages hosting is clearly not an "official asset". In a [Loomio discussion][2], we decided to host a copy of your application at share.diasporafoundation.org and get that included in Firefox.

During that, I realized that besides the... interesting (:)) coding style, there were a lot of other issues to fix, including, but not limited to:

  • Originally, your code was Public Domain. While this is awesome, PD code causes legal issues in some parts of the world. I took the freedom to license your historic code and all of my rewrites under the AGPL to match diaspora*s license.
  • The Share Panel inside Firefox acts like an App Tab. That causes any external links to get opened in a new tab rather than in the current context, so the share links would open outside of the Share Panel, completely destroying the app. I fixed that by literally throwing away all of your logic and replacing it with action links calling a function to set window.location, since that will not get processed as a link inside Firefox.
  • Link shortening only works when the users check the checkbox after they have pasted the link. You should improve that implementation... However, I removed it for our implementation since calling an external service without providing Terms of Service and Privacy Terms is a no-no.
  • The same goes with loading the list of pods from an external service. I removed the autocompletion for that matter and replaced the top-pod-list by an generated list from the-federation.info.
  • The layout did not really adapt to various screen sizes and did not use the space inside the Firefox Share panel efficiently. I fixed that by completely rewriting the Frontend using Bootstrap, also getting rid of the ugly inline CSS.

Because of the points I mentioned above, I replaced [almost everything][3] of the code once written by you. Given the fact I introduced non-backwards compatible changes to the storage engine, removed features and changed the license, I decided to push a copied version to our GitHub org, not to fork it. You can find the code at [diaspora/sharetodiaspora][4].

As you were inactive in your repo for a long time, I decided to not get in touch with you since I was not really able to (I was not able to find you on diaspora* and you do not have a Loomio account ;)). Unfortunately, you did start to refactor your own code. My changes still merge perfectly into your master, so you should be able to use the code if you want to.

[1]: https://bugzilla.mozilla.org/show_bug.cgi?id=1195333
[2]: https://www.loomio.org/d/teUOzAXf
[3]: https://github.com/diaspora/sharetodiaspora/compare/54adfd6c62b418666115949a8969c94c636496a3...master
[4]: https://github.com/diaspora/sharetodiaspora

JR

Jason Robinson Tue 1 Sep 2015

Great work Dennis. TBH, the message sounds a bit rude, but, well :P

A

Augier Tue 1 Sep 2015

PD code causes legal issues in some parts of the world.

Why is that?

DS

Dennis Schubert Fri 11 Sep 2015

http://www.linuxjournal.com/article/6225 and others. In some countries (Germany, for example) the author of something cannot waive the copyright but can only provide rules. Because of that, no license (as in "do whatever you want to do!") is not a legal framework for anything, thus it's invalid and thus nobody is able to use it. If you want to do "Public Domain" code, use the MIT license.

A

Augier Sat 12 Sep 2015

K, thx. Didn't know that.