Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Bitcoin Core sub-site #1044

Merged
merged 7 commits into from
Sep 14, 2015
Merged

New Bitcoin Core sub-site #1044

merged 7 commits into from
Sep 14, 2015

Conversation

harding
Copy link
Contributor

@harding harding commented Sep 2, 2015

Preview: http://harding.github.io/en/bitcoin-core/

This PR adds a sub-site (not sub-domain) to Bitcoin.org containing a dozen pages about Bitcoin Core, including the following pages:

For easy review by developers and other experts, the text and images have been mostly separated out from layout-only elements such as CSS, JS, and templates. The commits are:

  1. Text: the text for all of the newly-added pages.
  2. Images (PNGs): the PNGs for the new pages. GitHub will display these in the commit diff so you can easily preview them.
  3. Images (SVGs): the SVGs images for the new pages. GitHub displays these as text in commits, making them difficult to review. However, all SVGs have a PNG version in the previous commit.
  4. Everything else: CSS, JS, HTML/Liquid template code, and minor changes to existing pages.
  5. Blog post: a post for the Bitcoin.org blog introducing the new sub-site.

The first four commits described above will not compile independently, so they will be squashed at merge time.

Thanks goes to Theymos, Cøbra, and Saïvann for numerous suggestions related to these changes.

@theymos
Copy link
Contributor

theymos commented Sep 2, 2015

ACK, great work!

@wbnns
Copy link
Contributor

wbnns commented Sep 2, 2015

Wow - ACK. Really impressive, @harding. Nice job, you all.

@ghost1542
Copy link
Contributor

I still haven't reviewed everything but in general this is great! Thank you so much for your work on this! Having a sub-website for Bitcoin Core was extremely needed.

I may be able to provide more patches and review, but feel free to merge when you think it's ready. I can submit PRs later if I find additional bugs / improvements.

@carnesen
Copy link
Contributor

carnesen commented Sep 2, 2015

@harding said "Thanks goes to Theymos, Cøbra, and Saïvann for numerous suggestions related to these changes." Perhaps that means there's been substantial review already in private. Even so, it would seem prudent to hold off merging such a large piece of new content until it's been thoroughly reviewed with time for the public to comment.

@laanwj
Copy link
Contributor

laanwj commented Sep 2, 2015

As said on IRC, this is really nice!

I've read over it and didn't find any glaring mistakes. Will look in more detail later.

@luke-jr
Copy link
Contributor

luke-jr commented Sep 2, 2015

Maybe somewhere it should note the site is not an "official" Bitcoin Core site or maybe it should be official in which case I suggest putting it on bitcoincore.org :)

@harding
Copy link
Contributor Author

harding commented Sep 2, 2015

@luke-jr the first paragraph of the site about us page does say,

When Nakamoto left the project, he gave ownership of the domain to additional people, separate from the Bitcoin developers, [...](emphasis added)

Is that sufficient?

I'm not enthusiastic about maintaining this content on BitcoinCore.org as Bitcoin.org already spends $7,000 a year on secure and reliable hosting, has a small but dedicated team of website contributors, is already setup to handle translations, etc... Since this content is all MIT licensed, it shouldn't prevent anyone from using it if there's ever a split between the Bitcoin.org team and the Core team.

@carnesen
Copy link
Contributor

carnesen commented Sep 2, 2015

Isn't this the official website for Bitcoin Core? I thought we were all on the same team. The Bitcoin Core GitHub repo lists https://bitcoin.org/en/download as its "website". It also links to https://www.bitcoin.org first thing in its README. This site has the Bitcoin Core logo at the top of every page. Oddly this pull request variously removes the Bitcoin Core logo but only from pages specifically about Bitcoin Core! It puts some resources about Bitcoin Core under /bitcoin-core whereas others such as /development and /download still live under "/" but with the new BitcoinCore navbar header. In that sense, it's not accurate to describe this PR as a sub-site; changes are not confined to /bitcoin-core. Yet some other Bitcoin-Core-specific information like the dev docs for the API has neither been moved to /bitcoin-core nor received the new header. Much obliged if someone could explain the game plan here and also clarify the relationship between this site and Bitcoin Core, the entity I'm primarily interested in supporting with my time.

@luke-jr
Copy link
Contributor

luke-jr commented Sep 2, 2015

@harding I see no reason why bitcoincore.org could not be v-hosted on the same resources as bitcoin.org...

@carnesen No, bitcoin.org is independent from Bitcoin Core.

@harding
Copy link
Contributor Author

harding commented Sep 2, 2015

@luke-jr If you and the other devs think that's the best way to go, I'm willing to port this content to your repository once you've got everything set up. Until then, I think the most productive use of our time is to host this content on Bitcoin.org.

@carnesen Bitcoin.org is not managed by the core developers, as the about us page explains. However, Bitcoin.org is the site that has always promoted the Bitcoin software (now called Bitcoin Core) and AFAIK there is no significant amount of user-focused Bitcoin Core content on any other site except for the Wiki.

Contributing to Bitcoin Core is also how I'm interested in spending my time and I've never had any problem doing that through Bitcoin.org. Important to me is that almost all of the content on the site is MIT licensed and replicating the site is easy (you know, you've compiled it) so that if there's ever a conflict, all the content I've contributed can go to a new site under the control of the Core devs.

In short, I do think that we're all on the same team.

The game plan is that no existing URLs were changed by this PR; I expect that content will transition to the /bitcoin-core hierarchy whenever each page next gets a major rewrite.

@wbnns
Copy link
Contributor

wbnns commented Sep 2, 2015

@harding said:

@luke-jr If you and the other devs think that's the best way to go, I'm willing to port this content to your repository once you've got everything set up. Until then, I think the most productive use of our time is to host this content on Bitcoin.org.

ack, +1.

@luke-jr
Copy link
Contributor

luke-jr commented Sep 2, 2015

@harding I don't mean it needs to be a different repository, only that it would be more ideal if bitcoincore.org would behave as if a reverse-proxy to bitcoin.org/bitcoin-core (not necessarily implemented as a reverse-proxy), and links to it would use the bitcoincore.org domain.

Note this is not a NACK in any sense, just a suggestion for improvement.

@ghost1542
Copy link
Contributor

Re Logo: I have also mentioned this issue to @harding and he also tried even before I asked. The only issue here AFAIK is to make a visual distinction between each subsites to not confuse navigation. You are very welcome if you want to submit an improvement here.

@carnesen See the "About us" page for more details on the relationship between Bitcoin Core and bitcoin.org . Both are very close to each other.

@laanwj
Copy link
Contributor

laanwj commented Sep 3, 2015

I - personally - prefer having this content on bitcoin.org. Let's not play word games here, that people run a full node (most likely Bitcoin Core) is essential to the system. Can't have Bitcoin with just SPV wallets, those are merely meant as compromise for low-end hardware anyway.

To be clear: I'm not strongly against a bitcoin-core specific domain but moving it to another domain probably makes it harder to find for most users, and makes them see it as something separate.

@carnesen
Copy link
Contributor

carnesen commented Sep 3, 2015

I know that Bitcoin Core core developers and bitcoin.org owners are disjoint sets. That doesn't change the fact that bitcoin.org is still the official site of Bitcoin Core (OSOBC). It says so right there at the top of the Bitcoin Core repo on GitHub and in the first line of its README. I guess, though, that we'll be working towards disentangling the OSOBC content from the rest of the stuff on bitcoin.org. I think we're all on board for that goal. The OSOBC content will become its own self-contained resource tree with distinct branding, navigation, etc. For the duration of the disentanglement, the OSOBC source code will live within the bitcoin.org repo and will be hosted as a "sub-site" "/bitcoin-core" on the bitcoin.org domain. Eventually the Bitcoin Core developers may decide to make the divorce official by forking the bitcoin.org repo to the "bitcoin" GitHub organization and re-hosting the OSOBC site as "/" on bitcoincore.org.

Assuming that's an accurate description of our trajectory, I have some initial feedback:

Logo: If only one of OSOBC and bitcoin.org gets to keep the signature Bitcoin logo and wordmark, I feel pretty strongly it should be Bitcoin Core. Last year I spent many hours with my fellow Wikipedia editors deciding which image to include in the Bitcoin article infobox and how to caption it. We arrived at the signature logo+wordmark and a caption "Logo of the bitcoin reference client", by which of course we meant Bitcoin Core. For my two Satoshis, that logo is only associated with this site to the extent that it's the official one for Bitcoin Core. Perhaps we could crowd-source a new logo+wordmark for bitcoin.org?

"no existing URLs were changed by this PR": Does it mean that you didn't intend to change the content served by existing URLs? If so, on the preview site I see that /en/download, /en/development, and /en/version-history all have the new OSOBC navbar header.

/en/bitcoin-core/: We should strengthen the tagline "Helping you keep Bitcoin decentralized" and lede sentence "Bitcoin Core is programmed to decide which block chain contains valid transactions" to assert that Bitcoin Core is the reference implementation. As is, it's not clear that Core is software as opposed to a hardware device or something else.

@harding
Copy link
Contributor Author

harding commented Sep 3, 2015

@carnesen thank you for your comments. Replies below:

that logo is only associated with this site to the extent that it's the official one for Bitcoin Core.

The B logo and the Ubuntu font "bitcoin" are certainly not Bitcoin Core trademarks in the typical sense because they are widely used to refer to things besides Bitcoin Core; in particular, the logo is used for the currency itself as well as other software like Bitcoin Wallet for Android.

From this BCT thread where they were first released, it seems clear that the orange B logo and the font Ubuntu "bitcoin" were meant to refer to the currency, not any particular client, as they are used by the artist in signs saying "Bitcoin accepted here".

Furthermore, I think the idea of using "฿ bitcoin" by itself as Bitcoin Core's logo+wordmark became untenable when the Bitcoin software was rebranded to Bitcoin Core.

I'm not attached at all to the basic grey & greyer Bitcoin Core image used on the subsite, but it is my preference that whatever image we use contain the full name of the software to disambiguate it from the network and the currency in general.

I did spent over an hour messing around in Inkscape trying to incorporate the orange B circle (or hints of it) into the image without making it larger or confusingly similar to the main site image, but I failed. (I'm not an artist.) If someone wants to take up that challenge, I'd appreciate it.

"no existing URLs were changed by this PR": Does it mean that you didn't intend to change the content served by existing URLs?

No, that means that the content previously served on those URLs is still at the same URL. The change to the new navbar for those pages was deliberate. Also, the English version of /en/development has a few paragraphs of additional information; the non-English versions have the same content as before but it has been re-ordered to match the English page.

/en/bitcoin-core/: We should [...] assert that Bitcoin Core is the reference implementation.

I didn't do this because I think it's a sore point for other full node implementations. We want people to use identical consensus rules; the particular interface to those rules isn't so important---and Bitcoin Core has lots of excellent features that have nothing to do with consensus.

As libconsensus matures, I hope to create a homepage/subsite for it too and perhaps some branding so that all software that uses it can clearly indicate so. (But this is just an idea for now, not a specific task on my todo list.)

As is, it's not clear that Core is software as opposed to a hardware device or something else.

Huh? The page says, "there's just individual software following identical rules" (emphasis added) as well as two Download links on that page (you don't usually download computer hardware, at least not until we have nanite-powered 3D printing).

@carnesen
Copy link
Contributor

carnesen commented Sep 3, 2015

@harding I have comments on your comments on my comments, just like I'm back on Wikipedia :p

The B logo and the Ubuntu font "bitcoin" are certainly not Bitcoin Core trademarks

I'm all too aware of the history of the signature tilted ฿ as well as its licensing status. I'm the one who first investigated it for proper attribution on Wikipedia. Whatever the original intent of the artist, to me and a quorum of fellow Wikipedians, the symbol is most strongly associated with the reference client, Bitcoin Core, more so even than "the currency and network in general". I would object, for example, to the brand being adopted by BitcoinXT. In any case, the rebranding to "Bitcoin Core" changed the name but not the logo. What about having the logo+wordmark for the Bitcoin Core pages be "฿ bitcoin core" with the fancy tilted font?

No, that means that the content previously served on those URLs is still at the same URL. The change to the new navbar for those pages was deliberate.

That probably means I'm still confused about what we're trying to accomplish. My mental model is that we're trying to disentangle the OSOBC stuff from the rest, hosting the former as a "sub-site" under the /bitcoin-core resource path. That leads me to believe that the content currently located at /development should be moved to /bitcoin-core/development. The new content at /development would be about "Bitcoin development" more broadly, perhaps including things like bitcore and Toshi. Until we find time to write that new content, perhaps the right thing would be to 301 redirect /development to /bitcoin-core/development and similar for /download and /version-history. We'd need to be careful to make the binaries still available under /download, even if they weren't exposed as such within the site navigation, because otherwise we might break people's configuration management scripts that aren't set up to follow redirects.

Huh? The page says, "there's just individual software following identical rules"

My comment was about the the "tagline" and opening sentence. The sentence you quoted is in the third paragraph; i.e. the "lede is buried".

We should [...] assert that Bitcoin Core is the reference implementation.

I didn't do this because I think it's a sore point for other full node implementations.

For whom is that a sore point? I'm aware of a number of other full nodes (btcd, Toshi, BlockCypher (non-OSS), Ryan X. Charles' full-node), and I'd be surprised if any of those folks felt sore at the assertion that Core was their implementation. To me it's a statement of fact that Core is the reference implementation. I think even XT would say so. They're obviously pretty open about the fact that their implementation is a departure from Core. If they achieved consensus, we'd have to drop the assertion.

I suspect some of my feedback may be off-base because I'm not yet privy to all of the politics at play. I'm really trying to be helpful and make "high-value contributions". If in fact I'm out of my element on this whole OSOBC re-org situation, just let me know and I'll tap out to dig in on my RPC spec doc project.

@ghost1542
Copy link
Contributor

@carnesen I think the inconsistent url scheme is not a big thing. Sure, a side of my brain would want all Bitcoin Core content prefixed with /bitcoin-core/, just for perfect consistency, but it's not a good idea to break existing links just for that reason. /en/development & all are probably linked from a lot of places. We can also create 301 redirections later once this PR is merged if that's really important.

Fun fact: The current Bitcoin Core logo, with the ubuntu font, was released in the public domain and used everywhere, including bitcoin.org, way before Bitcoin Core started also using it. It disappointed me when Bitcoin Core dropped their previous logo (which I found good looking) exactly because I knew this would eventually create this sort of difficulties. If they had not, we could already be using previous Bitcoin Core's logo.

Anyway, really, I think there's no real disagreement: it would be nice to have a nice reasonably different logo for each of the two layout, either by changing bitcoin.org or Bitcoin Core's logo. I don't think this issue is important enough to block all the important changes in this PR to be merged though.

@ghost1542
Copy link
Contributor

In case that makes everyone happy for now, here's a commit adding the existing logo to the Core subwebsite as well - supposing that the various other differences (size of the logo, text displayed, font size, font weight, font color and font family) will be enough to not cause too much confusion:

Edit: If someone would ask me, I prefer this version. I agree that Bitcoin Core deserves his logo, and I think @harding did a good job at making the "Bitcoin Core" text visually different.

Live preview: (Merged)

https://github.com/saivann/bitcoin.org/commit/a17acfd88e0cf82589c203b9a136bf38b54d85de
https://github.com/saivann/bitcoin.org/commits/core-fixes

@harding
Copy link
Contributor Author

harding commented Sep 3, 2015

@saivann's logo LGTM. (Thanks!) I'll wait to see if there are more comments on it before merging it into this branch.

@harding
Copy link
Contributor Author

harding commented Sep 3, 2015

@carnesen I think @saivann had good replies to your concerns about the logo and the URLs, so I'll focus on replying to the rest of your comment.

My comment was about the the "tagline" and opening sentence.

Sure, but between those two elements it says "Download Bitcoin Core" and you don't download hardware. (It also says Download in the toolbar and the first bold and iconified link below the text also says Download twice.) I understand how something with the name "Core" can sound like hardware, but I think we provide enough context clues already (not to mention that most people linked to this page will probably already have some idea what Bitcoin Core is, otherwise why would they click the link?).

For whom is that a sore point?

Bitcoin Core is the reference implementation of the consensus rules. That means any alternative implementation that doesn't follow the rules exactly is at risk of forking and possibly causing its users to lose money.

Unfortunately, it is very difficult to re-implement something as complicated as the consensus rules exactly using different languages and libraries, so many experts consider it improbable that any of the alternative implementations follow the rules exactly.

This makes "reference implementation" shorthand among experts for "safest implementation". As you can imagine, this is a sore point among alternative implementors, some of whom have spent considerable time arguing against (or around) one part or another of the above reasoning.

The long-term solution is to separate out the reference consensus parts of Bitcoin Core so that any program can use them (libconsensus), and work has been underway to do that for more than a year. In the short term, I think we should avoid marketing Bitcoin Core's reference status in order to avoid looking like we're taking advantage of that distinction to attract users.

And, by the way, please don't ever hesitate to provide the type of well-considered feedback you've provided so far. That's exactly what the PR process is for, and I appreciate your taking the time to do it.

@harding
Copy link
Contributor Author

harding commented Sep 6, 2015

Branch rebased to fix merge conflict and the improved logo+text from @saivann has been added to the header image as well as the images on the main page and the user interface page. Several CSS improvements from Saïvann have also been added.

@carnesen I know this isn't everything you wanted, but does it adequately address your concerns?

There doesn't seem to be any more feedback coming in, and all overview-level feedback so far has been remarkably positive, so I'm going to schedule this for merge on September 14th (8 days from now). If any important criticism arrives before then and can't be addressed quickly, I'll cancel that merge date.

Thank you everyone for your reviews.

@carnesen
Copy link
Contributor

carnesen commented Sep 8, 2015

@harding @saivann Thanks much for considering my feedback and responding thoughtfully. The new pages look good, and I'll be happy to have them go live.

@harding
Copy link
Contributor Author

harding commented Sep 9, 2015

The original PR included code that would allow just the Bitcoin Core main page to be translated. The rest of the subsite with its many images with embedded English text was not setup for translation. @saivann persuaded me that it would be best to keep all of the pages English-only until someone is willing to put in the effort to make it all work, so the latest commit removes the translation metadata for the Bitcoin Core main page.

There should be no discernible difference to the site. The preview has been updated and a diff of the HTML output before and after this latest commit is available.

I'm still planning to merge on Monday.

This commit contains a large number of contributions from Saïvann
Carignan.
@harding harding merged commit 1ddfe6f into bitcoin-dot-org:master Sep 14, 2015
@ghost1542
Copy link
Contributor

@harding Thanks again for this great work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants