diaspora / diaspora-project-site

Code for the Diaspora project site.
https://diasporafoundation.org/
Other
48 stars 41 forks source link

Add a donations page #108

Closed Flaburgan closed 4 years ago

Flaburgan commented 7 years ago

As planned I started to work on a donations page for the official website. I took the content from the wiki page.

Here is how it looks at the moment: donations

Things to do:

goobertron commented 7 years ago

Thanks for doing this.

If we're going to list individual developers on this page (and I'm not sure about this on first look; I'll have to think further about it), I think it would make more sense to split up the tasks they do and make individual tasks translatable. Somehow asking all our translators to translate strings just for an individual seems wrong; also it will make it easier to change things in the future when someone changes their roles, or when we add another individual to the list.

Something like:

In en.yml:

development: "Development"
federation_role: "Federation"
backend_role: "Back-end"
frontend_role: "Front-end"
reviews_role: "Code reviews"
release_management_role: "Release management"
testing_role: "Testing"
podmin_role: "Podmin" of diaspora-fr.org,
outreach_role: "Outreach and communication"
account_migration_role: "Account migration"

And in donations.erb:

       <tr>
          <td>Benjamin Neff</td>
          ...
          <td><%= t '.development' %>: <%= t '.federation_role' %>, <%= t '.backend_role' %>, <%= t '.reviews_role' %>, <%= t '.release_management_role' %>.</td>
        </tr>
        <tr>
          <td>Fla</td>
          ...
          <td><%= t '.development' %>: <%= t '.frontend_role' %>. <%= t '.podmin_role' %> (diaspora-fr.org). <%= t '.outreach_role' %></td>
        </tr>
        <tr>
          <td>Senya</td>
          ...
          <td><%= t '.development' %>: <%= t '.account_migration_role' %>, <%= t '.testing_role' %></td>
        </tr>

Something like that. Does that seem a reasonable approach?

Flaburgan commented 7 years ago

If we're able to list everything everyone is working on then sure! :D

SuperTux88 commented 7 years ago

It's at least better than translating the complete string. When something changes you have different states of outdated information on different languages. So I'd rather have my string not translated at all than have it translated as a complete string.

denschub commented 7 years ago

Uhm, why do we have to have the table on the project site? The wiki is fear easier to update and we probably can just write a nice introduction text on the website and link the wiki...

goobertron commented 7 years ago

That's a good point. I suppose, though, that putting links to people's Liberapay (or whichever payment service) accounts on a wiki is asking for trouble, because it would be too easy for anyone to change the address to their own, or cause similar trouble.

Flaburgan commented 7 years ago

@goobertron summed it up, someone could totally register on liberapay as "flaburgan" (I'm fla there), choose my profile picture and edit the wiki. Hard for the user to verify. I was also planning to add our bitcoin addresses, this is even impossible to check, that's why I wanted it on a non-modifiable web page.

That being said, this table is quite ugly and I can do something nicer. I also have a "contributors" page in mind, where we can definitely link to liberapay. I still need to think a bit about it.

denschub commented 7 years ago

If vandalism/fraud is your only concern, it's invalid. We can easily make the wiki page protected or add an approval mechanism to the wiki for that page.

Edit: all active contributors already have higher then "normal" rights, so that's easy.

SuperTux88 commented 7 years ago

I also have a "contributors" page in mind

It would be cool to list and thank all active contributors, even those who don't want to receive donations. But I agree with @denschub here, the wiki is much easier to change (for something like a list of people or a list of topics the person works on, which changes sometimes).

Flaburgan commented 7 years ago

The wiki can do it, but it's far less "official" and is very limited in term of design, so at least for the contributors page, I'd like to do it in the website. (Which is not hard to modify, it's plain HTML, but yes it needs to install the dev env and create a PR, so still harder than the wiki)

denschub commented 7 years ago

The wiki can do it, but it's far less "official"

Erm, no? The wiki is as official as the website and discourse. Otherwise, we'd straight up need to migrate our installation documentation to the website as well.

and is very limited in term of design

You have four headlines and one table on the page - and that's exactly what our wiki also shows. What do you miss?

Which is not hard to modify, it's plain HTML, but yes it needs to install the dev env and create a PR, so still harder than the wiki

Yes, and somebody needs to review that PR, merge it, deploy it to production. So instead of having an active contributor spending 10 minutes on a wiki edit and have a team member approve that edit within 5 minutes, the contributor needs to spend 2 hours of setting up a dev environment and submitting a pr, and then a team member needs to spend 30 minutes on reviewing, merging, deploying. I really don't see the point here.

I dislike this approach very much. I see absolutely no reason to have information that can change very quickly (and will change very often, especially if we are that detailed in describing what people are working on) coded statically into the source of this website. I don't see any gain from doing this, so please enlighten me.

Flaburgan commented 6 years ago

I wanted to split the task in small steps to see the donation page integrated quicker, but the whole work in one shot makes more sense. So here is where I wanted to go at the beginning.

The donation page doesn't have a table with contributors listed anymore. It now only indicates "Some of the volunteers who are working on diaspora* have accounts on a donation platform called Liberapay. It's a patreon-like website but it's free software and with minimum fees. It's a good way to support directly someone. Links to Liberapay profiles are available on the contributors page by clicking on the Liberapay logo."

screenshot-2017-9-25 donations - the diaspora project

And I built a draft of the contributors page. I want to keep that page simple with information which are not supposed to change often, and without to many details to not be intrusive in private life of contributors. There is the pseudo, the avatar, the country and links to diaspora, github and liberapay. I don't know if we want to add more links there, like twitter?

screenshot-2017-9-25 contributors - the diaspora project

I'm wondering a very short text like "Front-end dev" or "Federation master" is also acceptable, it would give a hint on the role of the contributor, I feel like it's a nice thing to know for donors.

Flaburgan commented 6 years ago

Any feedback on this anyone?

ghost commented 6 years ago

Any feedback on this anyone?

Both pages look great. Furthermore, I think these pages are important to encourage people to donate/join.

However, to make them really effective, they should be one click away from the main page (and not too difficult to be found).

Some minor comments to the donation page:

SuperTux88 commented 6 years ago

The pages look good to me, but I agree with @GergelySzekely that the "lp" logo is really big after "... by clicking on the Liberapay logo."

What do the little country flags indicate? Is that the country the person currently lives or the country where the person comes from? If it's where the person lives I think @cmrd-senya doesn't live in Russia anymore, I think he moved to Ukraine some time ago, but I don't know if this is still the case? If it's where the person comes from it should be a Swiss flag for me, because while I currently live in Germany, I come originally from Switzerland. Or maybe we should remove it, because nobody knows what it means? Or keep it, because it shows the development is international? I don't know :D

I'm wondering a very short text like "Front-end dev" or "Federation master" is also acceptable, it would give a hint on the role of the contributor, I feel like it's a nice thing to know for donors.

I think it's difficult to describe a person with one short title, people do different things, and you can't add everything, because otherwise the page would become overloaded. And we still have the problem that these things change.

denschub commented 6 years ago

Okay, fine, I'll leave comments here. :p

First, to the generic "Donate to diaspora*" page. Why do we need to name any platform in the first place? Also, I feel a bit misunderstood. I thought I outlined my thoughts pretty well, but here we are again: The list of "important contributors" may change very frequently, and the services individual contributors might change as well. Today it might be liberaypay, maybe someone likes to use flattr. Heck, someone even might want to use PayPal. I still don't get why you need to put a link to liberapay onto our project page. Please stop that. If anything, please build a site that links to the wiki if people want to know how to donate to individual developers.

Next, to the list of people. This is not a new idea, and technically even totally offtopic here, but let's discuss. It was initially suggested in #71 two years ago but never took off. There are several reasons for this.

There is quite more to it. If you're just up for the contributor recognition, that's a nice idea, but a bad approach. In general, it is way more attractive to highlight work of new contributors instead. A good example for that is, for example, the "This Week in Rust" blog series by the rust language team. Highlighting individual contributors on a static page usually creates quite the opposite of what you imagine it does. It does not really make the contributors happy, instead, they feel like they are now more responsible in any way, quite often limiting their joy in trying out new stuff. Also, I do not want to have random people reaching out to contributors with their questions and concerns, which is also something that happens quite frequently.

To put it short, I am against a page listing contributors. As nice as it could be, the possible drawbacks are way to high.

What we probably should do, however, is a short list of contact information and responsibility of core members (and I'm not talking about the community core here). Quite often, it is hard for people to get contact information for "responsible" people, especially if they have media inquiries, technical or philosophical questions they might not want to raise in public. But that's certainly a different discussion. Also, we should add supporters as tracked in #49, but again, that's a different discussion.

Or maybe we should remove it, because nobody knows what it means? Or keep it, because it shows the development is international? I don't know :D

Assuming the same topic comes up again if we talk about a "core" page or a list of contributors on the wiki: I also dislike the idea of having a country but next to my name in the first place. Just like the gender, nationality has absolutely no relevance to a contributors activity. If they decide to disclose that in some kind of free text, sure, why not, but as for me, for example, I would kindly ask everyone to remove the German flag next to my name. ;)

SuperTux88 commented 6 years ago

@Flaburgan Personally I don't care if we have a contributors page on the website or not, but I can understand why you want one. But I must agree with @denschub, there are many reasons why we don't want it on the website.

Today it might be liberaypay, maybe someone likes to use flattr. Heck, someone even might want to use PayPal. I still don't get why you need to put a link to liberapay onto our project page. Please stop that. If anything, please build a site that links to the wiki if people want to know how to donate to individual developers.

While I don't think the frequent changes are a huge problem, it's still a lot easier to change a wiki than to change it in git, create a PR, review it, push it to production. And people can even change their entries in the wiki themselves, which is also a huge advantage of the wiki.

Also: Your page already misses the possibility to donate to @cmrd-senya via bitcoins, which is there on the wiki.

Next, to the list of people.

Yes, this is a big problem. While it maybe is "easy" to create the current list, at which point would you add a new person? And at which point would you remove a person? How do you sort the people?

For developers we could just link to GitHub where we already have a contributors page where GitHub deals (or doesn't deal) with the problems, it's just a big list with the top 100 people every contributed to the project, and you can easily see who is still active currently and who did a lot in the past but isn't active anymore.

But there are other people too, who contribute to diaspora. You added @waithamai to your contributors page, but she didn't make it to the top 100 developers list, because she only has one commit ;) And there is @goobertron who doesn't even have one commit in the main repo, but is on your list too.

But there are even more people contributing to diaspora who are missing on your list: Translators. They are always missing on the release stats too, where I only count commits and developers (because I can see them on github), but I didn't find an easy way to get stats of translations between releases (so I didn't forget about them). But it would be really cool to have a list of active translators too (and maybe we should write a post to thank them once, but that's another topic). And maybe we could just link to the users list so we at least have them linked together with the developers.

So it is really difficult to create a good list of (active) contributors. So maybe we should just not try it and link to pages where they are already listed (we could link to the contributors page of this repo too, and maybe there is a list of active wiki users somewhere in the wiki?)

In general, it is way more attractive to highlight work of new contributors instead. A good example for that is, for example, the "This Week in Rust" blog series by the rust language team.

That would be really cool, we had this once together with #bugmash monday, but we don't have the people to do this anymore, but if anybody could do this, this would be great.

Or maybe we should remove it, because nobody knows what it means? Or keep it, because it shows the development is international? I don't know :D

Assuming the same topic comes up again if we talk about a "core" page or a list of contributors on the wiki: I also dislike the idea of having a country but next to my name in the first place. Just like the gender, nationality has absolutely no relevance to a contributors activity.

Yes, you're right, it just doesn't matter. And as said, nobody knows what it means anyway.

ghost commented 6 years ago

About the donation page, I think the most important question is not whether the page is located in the wiki or not, but how difficult is it to be found. Ideally it should be a page witch is not just easy to be found, but difficult not to be found.

If you agree, then why don't you add an easy find direct link both to the diasporafoundation.org page and to the Stream page?

I think in both pages the ideal link would be a nice hearth shape "like" button in the main menu which shows in a comment bubble a short text something like "diaspora* relies on community support. Please, donate some of your time or money to the project." when the mouse is hovered over it.

This would be a constant reminder of the users of diaspora* that they are invited to support the project.

About the contributors page, I think listing the "You?" as the last contributor has a quite powerful message. So it would be nice if you could have a page acknowledging the recent contributors (who have contributed to the code in the past couple of years) that can send this message with this power. About this I also think it is important to make this page an easy to be accessed one from both diasporafoundation.org and the Stream page to have a significant impact on encouraging people joining the contributors.

Flaburgan commented 6 years ago

I think that we are creating problems which don't exist with blockers like "who do we put in the list of contributors". We clearly know who is involved and who's not in the last 12 months. To list us in the website was not about recognition (at least in my mind), but about giving some humanity to the project, as #71 was titled. It is a way to say "diaspora* is built by volunteer humans, like you, not by big corporation with no name". Something friendly.

Now that bountysource is up and solid again, I'll remove liberapay and every mention of donations directly to volunteers, to only keep donations to podmins and a text about bountysource summarizing the blogpost. That way there will be not more relation between donations and contributors.

Flaburgan commented 6 years ago

Alright, I made this PR mergable: CSS extracted and cleaned, translations updated, useless images removed, commits squashed.

So, no more flags next to our name. I liked the "international project" idea, but I'm not fan of countries and borders, so I followed Dennis request.

I thought about Dennis' remark "What we probably should do, however, is a short list of contact information", but I felt like we should not add direct contact ways. It will probably be spammed and is not the good way to ask questions. So I added the sentence "Please note that if you want a quick answer, you should not contact these persons directly. See the official ways to communicate with us." with a link to the "How we communicate" wiki page.

I also removed every Liberapay mentions both on the donations and the contributors pages, as Dennis asked. If contributors want to get money directly, they will have to handle that themselves. The only official way to support diaspora* development is through BountySource. The contributors page doesn't mention money nor donations at all now.

I reworded the donations page, now that there is no more table nor list of contributors, there is also no more mention about giving them money. So the page now only contains two paragraph, the first one about giving to podmins, the second one about bountysource. Here is how it looks, hopefully it will be fine for you.

screenshot-2018-4-1 donations - the diaspora project

screenshot-2018-4-1 contributors - the diaspora project

Flaburgan commented 6 years ago

I just wanted to add as Dennis explicitly stated "To put it short, I am against a page listing contributors." that what's important to me here is the donations page. At the beginning, I listed 3 of us on that page because I wanted to link liberapay, then it became a new page with more contributors, and finally the links to liberapay have been stripped, so I ended up with a PR introducing to different not related pages. I won't fight about adding a contributors page. In my opinion, it is something nice as it brings humanity to the project, but I started this PR because I wanted a donations page, so I don't want it to be stuck because of something which became a side work.

So if there still is a blocker because of the contributor page, I can remove that work from that PR even if I squashed the commits to have the donations page merged.

goobertron commented 6 years ago

I think that if we were to include a contributors page, it would be a lot more efficient to write a script that compiles the list from diaspora IDs and grabs user name and avatar from the accounts on their pods. This is what the contributors page on the original project site did (although probably not in the most efficient way – see

The diaspora IDs can be listed in a separate file, so that all that would need to be updated when contributors changed would be the list of IDs in this file.

I don't object to a contributors page, as long as it is very simple and quick to update. As you say, it could 'bring humanity to the project'. But it would be important to recognise different types of contribution and different levels of contribution; and to encourage new contributors by including them once they had demonstrated commitment; and to avoid having a static list of a few core contributors that remained the same for years, and could look more like a list of gatekeepers than contributors. If we can find a way to do that while keeping updating a trivial process, I'm happy.

One thing I think I do object to is linking contributors with donations in the way that you originally (but not longer) proposed.

denschub commented 6 years ago

Not to provide more context to the core question, as I still have not found my own opinion just yet, but...

The diaspora IDs can be listed in a separate file

We have a database on this site, you know...

SuperTux88 commented 6 years ago

The donation page is OK for me in it's current form.

I'm not sure about the contributors page. Who should be on this page? When are people added? And when are they removed again? Should we remove people who are inactive again, or not? If not, should we even add previous contributors who contributed a lot in the past, but are inactive now? How are people ordered? A lot of questions and I don't have any answers.

goobertron commented 6 years ago

I'm also happy with the donation page in its current form, although I would like to remove the link to the contributors page in the last section.

If you want to promote supporting via Liberapay, would it be feasible to suggest someone checks a link such as https://en.liberapay.com/search?q=diaspora to find Diaspora devs who accept Liberapay? We'd have to warn that not everyone matching a word-search for 'diaspora' is necessarily developing for this project, but it might be worth doing, and the match seems pretty good among the list at the top.

@Flaburgan, I'd also like to proof-read the English text. I hope you don't mind, and I simply didn't think of this before. I've pulled the code and will try to do this in the next 48 hours and push it to my repo. I hope you don't mind.

goobertron commented 6 years ago

Edit: I've just noticed that there are two Diaspora 'teams' on liberapay:

https://en.liberapay.com/for/Diaspora_social_network/ https://en.liberapay.com/for/joindiaspora/

If those are streamlined in to one – probably the former – that could be promoted.

SuperTux88 commented 6 years ago

a link such as https://en.liberapay.com/search?q=diaspora

Edit: I've just noticed that there are two Diaspora 'teams' on liberapay:

https://en.liberapay.com/for/Diaspora_social_network/ https://en.liberapay.com/for/joindiaspora/

I think none of these links are optimal. The search is confusing and I think both teams are not controlled by "us" (I have no idea who created them?), and everybody can join them and not only developers are members of theses teams. While it is OK to also support podmins via liberapay, it would be covered by the first paragraph of the page, because podmins can link to their account from the donations section on their pod (so people can find who is the podmin of their pod).

We'd have to warn that not everyone matching a word-search for 'diaspora' is necessarily developing for this project

If we want to promote liberapay to support developers I think it would be better to link to https://wiki.diasporafoundation.org/Donations#Directly_to_developers where we can maintain the list of developers.

goobertron commented 6 years ago

@Flaburgan, hope you don't mind, but I got a bit carried away.

I've rephrased quite a bit of your text in addition to correcting the English. For instance, I didn't feel we should be saying that by donating to Bountysource people would 'be the ones driving the priorities of the project', which isn't true.

I've also used curly rather than straight quotes, which is the style used throughout the site and app, and have made the Bountysource blog post link translatable.

Oh, and I've added a paragraph about how to donate directly to developers according to Benjamin's last comment.

Hope you don't feel I've taken over; I'm just trying to help but did get a bit carried away once I started.

You can find my changes in this commit: 546758b46cb386d73fcf1f847c8eda444db6d73c

Goob

goobertron commented 6 years ago

Oh somehow my last comment didn't get recorded. Anyway:

I also changed the string name for links within a section to 'section_name_link' and the text string for that link to 'section_name_link_text', which is clearer and the form used elsewhere on the site.

How about changing the URL for this page from 'donations' to 'donating'? It seems to me more inviting, giving a sense that 'you can donate!'

SuperTux88 commented 6 years ago

For instance, I didn't feel we should be saying that by donating to Bountysource people would 'be the ones driving the priorities of the project', which isn't true.

:+1:

"This means that you can be a part of the development of diaspora* even if you don’t write code!"

The "... be a part of ..." sounds weird to me, I thought "... you can support the development ..." sounds better, but then you have "support development" twice, because it's in the next sentence too, so I have no idea ;)

Oh, and I've added a paragraph about how to donate directly to developers

:+1:

How about changing the URL for this page from 'donations' to 'donating'? It seems to me more inviting, giving a sense that 'you can donate!'

Sounds good to me :+1:

ghost commented 6 years ago

"This means that you can be a part of the development of diaspora* even if you don’t write code!"

The "... be a part of ..." sounds weird to me, I thought "... you can support the development ..." sounds better, but then you have "support development" twice, because it's in the next sentence too, so I have no idea ;)

How about "This means that you can contribute to the development of diaspora* even if you don’t write code!" ? (without the highlighting of course)

Flaburgan commented 6 years ago

Alright so as there still are discussions on two different topics, I split those new pages in two different PR. So here we can continue to discuss about the donations page, and https://github.com/diaspora/diaspora-project-site/pull/121 will be used to discuss about the contributors page.

Flaburgan commented 6 years ago

Hm, can someone give me a taste of some rails magic: on the donation page, the <footer> is currently inside the <div id="main-container" class="container-fluid index-page"> though I don't get why...

denschub commented 4 years ago

This PR got automatically closed by GitHub after we deleted the master branch and replaced the default branch with production. I did miss that this change will close all open PRs, sorry for that. Since there has been no activity for a while, I think this is fine, but if someone feels strongly about this, please let me know and we can restore this. :)