d3 / d3-scale-chromatic

Sequential, diverging and categorical color scales.
https://d3js.org/d3-scale-chromatic
Other
798 stars 107 forks source link

Add improved Tableau color scheme. #16

Closed akngs closed 6 years ago

akngs commented 6 years ago

With version 10, Tableau has introduced new categorical color scheme.

See https://www.tableau.com/about/blog/2016/7/colors-upgrade-tableau-10-56782

mbostock commented 6 years ago

It’s a nice scheme, but I’m unclear on whether Tableau grants us permission to include it—and without that permission I can’t accept this contribution. Sorry, but thank you!

akngs commented 6 years ago

Thank you for the explanation. I'll ask Tableau about the license and let you know.

akngs commented 5 years ago

@mbostock I've filed a question to Tableau support team and just received an e-mail from Tableau.

I've mentioned d3js as the open source project which I want to contribute, and also said that I want to use Tableau's specific color scheme, and provided them the URL for the palette:

Here's a partial copy of the response from Tableau legal team, received at 9th October 2018:

Our Legal team has advised that you can go ahead and use our color palette in open-source software. Please acknowledge Tableau as the author of the color palette when you do so.

Do you think it is good enough to merge PR?

curran commented 5 years ago

Hey that's great news! I'm jumping up and down inside as I feel this would make a great addition to D3.

akngs commented 5 years ago

@curran Any comments on #18? 😃

curran commented 5 years ago

Looks good to me!

swharden commented 4 years ago

@mbostock I've filed a question to Tableau support team and just received an e-mail from Tableau.

I've mentioned d3js as the open source project which I want to contribute, and also said that I want to use Tableau's specific color scheme, and provided them the URL for the palette:

Here's a partial copy of the response from Tableau legal team, received at 9th October 2018:

Our Legal team has advised that you can go ahead and use our color palette in open-source software. Please acknowledge Tableau as the author of the color palette when you do so.

Do you think it is good enough to merge PR?

Regarding values listed on https://github.com/d3/d3-3.x-api-reference/blob/master/Ordinal-Scales.md#category10

Unfortunately that message from Tableau's legal team appears to only grant D3 permission to use this color set. Does this put matplotlib and other projects which extract these ten colors in violation? Are these 10 colors now licensed under D3's hybrid of a BSD / Apache 2 license (LICENSE) which may require users of these colors to maintain a copyright notice and perhaps a copy of this special license in their own repositories? I really I wish the legal team released the colors as public domain, cc0 no rights reserved, unlicense, or made it clearer they were released without restriction.

EDIT: D3's scale chromatic license contains the Apache 2.0 license, but the higher-level d3 scale license and d3 license does not, and I question if the higher-level licenses are not properly respecting the Apache 2.0 license. It seems like it is not permissible to release Apache 2.0 content under a BSD 3-clause license.

That said, @akngs would you be willing to share the whole correspondence with their legal team, or do you have additional insight which may help to answer this licensing question as it pertains to the use of these 10 colors for other projects? Thanks for your insight! I'd love to get back to writing code instead of reading license files =]

// still not sure if adding this in my code requires me to add a new license to my project
string[] colors10 = new string[] 
{ 
    "#1f77b4", "#ff7f0e", "#2ca02c", "#d62728", "#9467bd",
    "#8c564b", "#e377c2", "#7f7f7f", "#bcbd22", "#17becf" 
}; 

matplotlib says they're from Tableau in code, but elsewhere cites d3 as a source and indicates they were originally made by Tableau https://github.com/matplotlib/matplotlib/blob/b34895dbfaba1293ea2ab8c35d1b2df5a246054c/lib/matplotlib/_color_data.py#L16-L28 and elsewhere cites Vega https://github.com/matplotlib/matplotlib/blob/d492a658c4d1d270cd132a74f49c61caec58ace3/lib/matplotlib/_cm.py#L1269-L1285

akngs commented 4 years ago

@swharden I've searched my inbox and found the thread but, unfortunately, the first message I've sent to Tableau Support Team was not there since the first one was written on the web-based form.

Here's the first reply from Tableau:

Hello Alan,

Thank you for contacting Tableau Technical Support.

The RGB hex values of the Tableau 10 color palette are found on the page you linked https://www.tableau.com/about/blog/2016/7/colors-upgrade-tableau-10-56782

and in the following Tableau Community Forum discussion: https://community.tableau.com/thread/235115

Your question about using the color palette in an open-source javascript library, such as DS.js, appears to be a legal question. Therefore I shall be contacting our legal team for their advice, and provide an update when I receive a response. You may wish obtain your own legal advice as well in the meantime.

Thank you for your patience and understanding.

Sincerely, Tom Tech Support Tableau Software

Be sure to follow Twitter for information on releases, fixes, and more: https://twitter.com/tableausupport

ref:_00D30XvE._5000d1KdqpB:ref

DS.js seems like a typo of D3.js.

Here's my reply:

Hello,

Thank you for your kind explanation. Please let me know when you received the legal team's review. I'm happy to wait.

Regards, Alan Kang

And here's the last message from Tableau:

Hello Alan,

Thank you for your patience.

Our Legal team has advised that you can go ahead and use our color palette in open-source software. Please acknowledge Tableau as the author of the color palette when you do so.

Please let me know if the information provided above does not allow for the issue to be resolved. In the meantime I will be placing this case in a "Confirmation Requested" state. Please bear in mind that, should any further difficulties with this particular issue be encountered, a reply to this email will instantly bring the case to my attention.

We may send a survey to confirm that the case has been resolved. We would be grateful for any feedback specific to this issue, as well as on the overall experience with Tableau Technical Support.

Thank you for being a valued Tableau Software customer!

Sincerely, Tom Tech Support Tableau Software

Oh, and the subject of the thread contains the title of original message I've filed and it reads:

May I use Tableau's color palette in open source software? [ ref:_00D30XvE._5000d1KdqpB:ref ]

So I think I've asked about open source software in general and the legal team's advise is not specific to d3js but open-source softwares in general but, well, I'm not quite sure.

swharden commented 4 years ago

Hey @akngs, thank you for digging this up and providing your helpful reply!

So I think I've asked about open source software in general and the legal team's advise is not specific to d3js but open-source softwares in general but, well, I'm not quite sure.

My read of the email correspondence is the same. This is excellent news!

The link to the forum referenced in the email (https://community.tableau.com/thread/235115) no longer exists (even after I created a Tableau account to try to access it). Interestingly Google still has a cache of it:

4 Replies Latest reply on Nov 21, 2018 6:44 PM by rory angus
Tableau 10 colour palette help
Sean Byrne
Sean Byrne May 3, 2017 8:02 AM

Hi,

I'm running version 9.2 but would like to implement the colour scheme from 10 
(info here: How we designed the new color palettes in Tableau 10 | Tableau Software )

Could anyone help me out with the hex values for those colours please? 
Should be in the preferences.tps file of anyone running 10

Thanks

1. Re: Tableau 10 colour palette help
Mark Bradbourne
Mark Bradbourne Moderator May 3, 2017 8:26 AM (in response to Sean Byrne)
The Preferences.tps only has custom palettes... but here are the values for those 10 colors

#4E79A7, #F28E2C, #E15759, #76B7B2, #59A14F, #EDC949, #AF7AA1, #FF9DA7, #9C755F, #BAB0AB

2. Re: Tableau 10 colour palette help
Sean Byrne
Sean Byrne May 3, 2017 8:24 AM (in response to Mark Bradbourne)
Perfect - Thanks Mark

3. Re: Tableau 10 colour palette help
Shawn Wallwork
Shawn Wallwork May 3, 2017 8:29 AM (in response to Sean Byrne)
I might be wrong, but I think the color picker was in the product for 9.3, so you can get the hex numbers yourself:

1. Double-click a color legend

2. Double-click one of the colors in the dialog box

3. Use the color picker to select the colors you want from the article you linked to

Color picker works to pick colors outside the Tableau window, which is a handy feature.

--Shawn

4. Re: Tableau 10 colour palette help
rory angus
rory angus Nov 21, 2018 6:44 PM (in response to Mark Bradbourne)
Thanks Mark for your great work.

Here are the Tableau 20 values for those interested.

#1F77B4, #AEC7E8, #FF7F0E, #FFBB78, #2CA02C, #98DF8A, #D62728, #FF9896, #9467BD, #C5B0D5, 
#8C564B, #C49C94, #E377C2, #F7B6D2, #7F7F7F, #C7C7C7, #BCBD22, #DBDB8D, #17BECF, #9EDAE5