Closed Bug 841397 Opened 11 years ago Closed 1 month ago

Replace HighCharts in AMO with open source alternative

Categories

(addons.mozilla.org Graveyard :: Statistics, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: gerv, Unassigned)

References

Details

AMO/Marketplace currently use the HighCharts charting library from highcharts.com. However, this code is dual-licensed under either CC-BY-NC or a proprietary license, neither of which are open source.
http://shop.highsoft.com/highcharts.html

It is arguable whether our use of it counts as non-commercial; however, we did obtain permission from the developer, so that particular aspect is not a problem. We are not violating the license he has given us. However, the fact remains that the license is not open source, so we need to replace our use of this library with something which is. Tarek Ziade suggests Rickshaw and d3.js:
http://code.shutterstock.com/rickshaw/

Why do we need to do that? Our aim at Mozilla is to make great software that other people can use, for any purpose. This is certainly true of AMO/Marketplace, because we hope that there will be lots of Marketplaces, in contrast to the single Apple Store or Google Play.

However, people can't just take our code and use it to make a new marketplace if some of it has a "no commercial use" restriction. That's why we write open source software, and why the goodness of doing so is written in our manifesto.

Related bug: 758185 (input.mozilla.org).

Gerv
We use Flot in webtools. http://www.flotcharts.org/

I recommend it to projects trying to move away from highcharts.
I suggest Flot because it is the most fully featured, canvas-based FOSS graphing library I know. Rickshaw has matured quite a bit since I last looked; it also seems like a viable replacement now. I'm a little concerned about SVG performance on mobile, but maybe that has also improved since I looked.
Thanks for filing this.  Due to resource constraints we are closing bugs which we won't realistically be able to fix.  If you have a patch that applies to this bug please reopen.

For more info see http://micropipes.com/blog/2014/09/24/the-great-add-on-bug-triage/
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
Resolving this bug as WONTFIX suggests that this situation is acceptable. Without wanting to lay blame on anyone for how we got to where we are, this isn't acceptable. 

If we are serious about the FxOS ecosystem being different, and being very cool with multiple marketplaces existing, then we should be removing barriers to other people building marketplaces. Making our marketplace properly open source (and therefore usable by anyone, including commercial entities) is a good step there.

Gerv
Status: RESOLVED → REOPENED
Resolution: WONTFIX → ---
Marketplace doesn't use highcharts anymore AFAIK. The Marketplace app statistics pages [0][1] are powered by d3.js which is open-source [2].

[0] https://marketplace.firefox.com/statistics/app/<slug>
[1] https://github.com/mozilla/marketplace-stats
[2] https://github.com/mbostock/d3/blob/master/LICENSE

Anyway, since we splitted Marketplace from AMO some time ago (including the code), changing the summary of this bug to only mention AMO - if Marketplace is still affected somehow then let's open another bug with the Marketplace product.
Summary: Replace HighCharts in AMO/Marketplace with open source alternative → Replace HighCharts in AMO with open source alternative
The Marketplace does not use Highcharts anymore. We now use the BSD-licensed D3: https://github.com/mozilla/marketplace-stats/blob/master/src/media/js/lib/d3.v3-min.js

AMO, unfortunately, still uses Highcharts.
Great news about Marketplace :-) I hope we can fix AMO at some point; we should leave this bug open. But I agree that the argument in para 2 of comment 4 applies less to AMO.

Gerv
Product: addons.mozilla.org → addons.mozilla.org Graveyard
See Also: → 1261368
Status: REOPENED → RESOLVED
Closed: 10 years ago1 month ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.