|nvd3||greenail||11/6/12 6:51 AM|
what happened to NVD3, it appears to have been wiped off the intarwebs.
|Re: nvd3||sxv||11/6/12 7:04 AM|
I was wondering the same thing. Here's a link to the .zip file containing the source and all example files in case that helps anyone: http://cl.ly/211t3g3H3Y2q
|Re: nvd3||Corey Coogan||11/6/12 7:12 AM|
Thanks a ton for posting this. I spent the better of yesterday trying to find this content. I saved the JS files but never thought I would need the examples and doc.
You are a life saver.
|Re: nvd3||Ger Hobbelt||11/6/12 7:48 AM|
Don't panic: search github for nvd3 and several copies (clones) show up.
Add to that the knowledge that Bob Monteverde is the man responsible for nvd3 and 5 seconds later you'll realize that 'novus' (the company, I assume) has dropped [edit: closed] the repository but Bob is working on it as shown by 'last edit: 4 days ago'. A wee bit of google and you get twitter hits and well... you just go and watch and wait and meanwhile: clone if you care.
There's enough 'intarweb' noise to realize why git is pretty darn useful as a protocol: you don't depend on a single central repo: you can, and should, go clone off bob's or git remote add him and git merge or git rebase that work to your existing git clone (as you should've been doing all the time already anyway as a very sensible SOP) and you'll stay at the bleeping edge, even when the edge goes 'poof!' elsewhere.
Anyway, don't know _why_ it happened (only Bob + novus can answer that one), but when you're using nvd3 you're definitely not lost; worst case you've got to go do something yerself when the going gets tough. See also https://github.com/bobmonteverde/nvd3/commit/827e588f3d014d2006812f11f51e998f4bbea0d0
Compare this scene to a similar 'support drop / disappear' action for a closed-source commercial library (been there, done that, argh!) and you'll be sure to feel much happier, even when the overall news might not be exactly hallelujah for y'all. We'll just have to wait for Bob to hear about the future reality of nvd3 with Bob at the helm. (Might be hard or neigh impossible for him given legal constraints but that's for him to answer; I can only conjecture here.)
Until then: everything is still there. Just novus::nvd3 who went 404 moving behind a pay server.
[Writing + copy edit checking this took longer than tracking it down; github search + google to the rescue.]
Met vriendelijke groeten / Best regards,
mobile: +31-6-11 120 978
|Re: nvd3||Ger Hobbelt||11/6/12 8:06 AM|
What you _did_ loose is the issue tracker, though, so any #xxx references are DOA now.
|Re: nvd3||Han||11/7/12 7:39 AM|
you can always check out dc.js, which I prefer for it's crossfilter integration implementation.
|Re: nvd3||Bob Monteverde||11/8/12 10:11 AM|
I'll try to give updates as soon as I can... as soon as I know.
In the meantime, I am very sorry guys.
I can't comment further tat this time.
|Re: nvd3||Alex Topiler||11/9/12 6:51 PM|
Can't even begin to express how disappointing this is. And yet, can't imagine how much worse you must feel. Truly a sad day.
|Re: nvd3||bewest||11/9/12 8:29 PM|
FWIW, I find nvd3 invaluable. It's the perfect starting point for
experienced programmers who want to cut and paste a hello-world
I used this technique at work to trick people into trying out d3, and
as a result some of those people have moved on to developing new
features on top of d3.
|Re: nvd3||Andreas Lyngstad||11/11/12 1:50 PM|
I went for the NVD3 library after a lot of research to find the best graphing tools. I really like it. But, it is still a bit rough around the edges. It would be nice to know if its dead. It would be sad, but then we could move on.
|Re: nvd3||Jeffrey Wong||11/14/12 3:36 PM|
|Re: nvd3||Chris Viau||11/14/12 4:42 PM|
|Re: nvd3||Ian Johnson||11/14/12 4:49 PM|
it's licensed Apache v2, so the forks can't be stopped (perhaps it would need to be renamed if there is conflict)
go go open source!
my heart goes out to Bob who's done some really great work with nvd3. hopefully things get resolved and you can get back to doing what you love for a community that appreciates it!
|Re: nvd3||Kai Chang||11/14/12 4:58 PM|
The documentation is also back:
|Re: nvd3||Chris Viau||11/15/12 11:07 AM|
Yes it's Apache license. But if you open source some code without your boss approval (the copyright owner), he probably has the right to shut it down, as well as all the forks. Anyways, we will know for sure very soon if it's really dead or if it will come back to life. In the meantime, forking or cloning on a new name is a good workaround. Maybe someone will start a new and improved chart package soon. Who knows... ;)
|Re: nvd3||Chris Viau||11/15/12 6:33 PM|
I told you:
Good day to you, admins of GitHub organization "nvd3".
|Re: nvd3||Ger Hobbelt||11/15/12 8:47 PM|
Well, forking/cloning under a new name would still retain the alleged copyright violation, so that's no workaround, but the fact that the thus far apparently incorrectly applied Apache license has been there, together with the code, for 9 months in a publicly accessible and well known place (d3 newsgroup and github: novus corporate account) would make the argument a wee bit hairy at least. Smells like change of heart, at least to me.
Anyway, for these legal matters there's the DMCA policy https://help.github.com/articles/dmca-takedown to follow, in particular section A. Apart from the disputed license, this is particularly opportune when there's, at last count, 250+ forks/clones concerned on github alone.
|Re: nvd3||Ian Johnson||11/15/12 9:09 PM|
I won't be removing my fork.
time to start over and make novus irrelevant
|Re: nvd3||Kai Chang||11/16/12 4:45 AM|
Many people have contributed to nvd3. What happens to their work? Can
contributors to nvd3 claim a copyright on their commits?
Mike Bostock has recently created a new set of basic charts, as well
as revising many tree examples. You can find them beneath the Visual
Index in the gallery, or on his bl.ocks:
For anyone building a set of reusable charts, I suggest working from
those examples and using version 3 of d3:
|Re: nvd3||Bruce Durling||11/16/12 4:53 AM|
Yes, people can claim copyright on their commits and might have similar problems with their employers depending on the details of their contracts and the local IP law where they live.
@otfrom | CTO & co-founder @MastodonC | mastodonc.com
|Re: nvd3||Chris Viau||11/16/12 8:19 AM|
Just clone it (so it doesn't point to another NVD3 repo) and change the name. NVD3 uses common D3 patterns anyway, so it will branch of and will become a standalone project soon.
On Thu, Nov 15, 2012 at 9:09 PM, Ian Johnson <enj...@gmail.com> wrote:
|Re: nvd3||stepheneb||11/16/12 9:11 AM|
Novus is looking for a "Front End Developer" https://www.novus.com/careers.php with experience in SVG and D3.
One of the listed responsibilities is:
"Source ideas from the open source community to help keep the product suite current"
One of the traits they are looking for:
Involvement with the open source community is a plus"
|Re: nvd3||Chris Viau||11/16/12 9:36 AM|
Let's close D3's sources and see how they do without sourcing/parasitizing the open source community ;)
|Re: nvd3||Nate Vack||11/16/12 2:42 PM|
Not to play devil's advocate here, but do note that no one's said
it'll be gone forever and ever, or why they've taken it down.
Just because we don't like that Novus took down nvd3 doesn't mean
violating their copyright is OK.
In particular, if you use it for something public, you're baiting
lawsuits if they notice. You may win (though I'd be surprised --
copyright does not work like that) but you don't want to pay the
|Re: nvd3||Ian Johnson||11/16/12 5:07 PM|
I agree that it is not advisable to use nvd3 for business, nor is it a good idea to violate their copyright in general.
The fact is though that they had to have approved of the open source release, as there is 0% chance that they were unaware of it's popularity with 200+ forks. This means they are lying in their takedown request. That may need a court case to be proven legally, but in the court of public opinion they have been found guilty.
Even if they bring it back they have shown they are not committed to open source and only seek to take advantage of community efforts. It's unfortunate that Bob's excellent work (along with many other members of the community) is slighted by this drama. Hopefully we can still harness the valuable energy put in somehow and move forward. I'm a fan of the idea of starting with Mike's simple chart examples and reimplementing the nice parts of nvd3 (they definitely don't have patents, with prior art galor).
Not sure who will step up to this, but I'm proud to be a part of such a vibrant community and i'm sure it will happen.
|Re: nvd3||Chris Viau||11/16/12 5:51 PM|
Bob and I discussed about starting an open project. I was waiting to have more things to show, but since we are on the subject...
The idea would be to package as much charts as we can around the plugins we already have and the reusable charts listed on the wiki under "Charts using the reusable API". At first, it would be a curated chart collection in a git repo showcased on a website (with live coding of course to try and tweak them). It would already be somewhat usable and a good place to explore and document some d3 chart types and patterns. The next step will be to integrate those charts in a chart package, abstracting some helpers (axis, data transformers), defining some patterns, providing default styles and themes.
On Fri, Nov 16, 2012 at 5:07 PM, Ian Johnson <enj...@gmail.com> wrote:
I agree that it is not advisable to use nvd3 for business, nor is it a good idea to violate their copyright in general.
|Re: nvd3||Han||11/16/12 6:24 PM|
|Re: nvd3||Ian Johnson||11/17/12 12:51 AM|
Let's do it!
|Re: nvd3||Bill Jackson||11/17/12 5:25 AM|
If their employee released it as open source in error, then the product IS open source and they have a case against their employee. If they want to wind back the clock, all additions/forks made over the intervening period that they want to use now become works for hire and I suggest that they all invoice the Novus Partners for that work - invoices that if not paid, become DMCA type of litigation against them and their clients who use it. Make them go all the way back to avoid this litigation if they succeed in their wish to close the door after the horse has been freed.
|Re: nvd3||Maël Nison||11/17/12 8:21 AM|
Yeah, and if a microsoft employee is pissed of his boss, he can freely publish the windows source code with GPL license. Then microsoft will not be able to say anything, right ? They will just have a case against their employee.
|Re: nvd3||Bill Jackson||11/17/12 9:28 AM|
True, Microsoft might take umbrage at that, it is more complex than I
had thought, although the long time period that went by with Novus
fully aware of the Open Source status might be seen as tacit
In addition, if something is open sourced, for a long time with the
intent of the owner, can they then revoke the open source status all
the way back? or is it open up to that fork and then goes back into
private source and people can use freely up to that form and create
open source fresh forks off that open source root?
416 399 4567
|Re: nvd3||Nathanael||11/17/12 9:38 AM|
I'm one of the 30 other individuals that acutally patched and commited changes for Bob to include in nvd3.js; I'm looking for contacts for the other 29 contributors. (Please contact me at using the feedback form on congocart.com or master-technology.com) I would like one of us (I'm willing to volenteer) to contact Mr. Qunibi of Novus partners in a position of consensuses from those who actually have code in the product.
My thoughts that would I believe be amicable (i.e. win/win) to both sides is that they can have our permission to take ALL of our changes closed source in the own future versions as long as we also (the community) may use the last release under the open source (Apache) license it has been under since shortly after it was released on there official novus github account and go our own separate way. I know my changes were really early to the library and some of my code may not even exist anymore (lol).
But I believe the cost for them to audit the whole library and rip out all of our changes and rewrite it all could be major -- I believe Bob could legally remove all of our code; but for the actual re-implementation Bob would have to hand it off to someone to do a fully clean-room version to make them legally safe from being sued. And that could be very costly in time and resources. Cost wise for them It might even be cheaper for them to ditch the last 6-7 months of changes and to just revert to the version before my patch/commit (which was issue #3 <G>). So I think we might be able to make this a win/win proposition if I can get the consensuses of the other 29 contributors.
|Re: nvd3||Master Bold||11/17/12 12:51 PM|
I have built several layers on top of d3 in my code so I can't replace it over night.
I don't want to violate anyone's copyright, but also can't rewrite the code over night....
What happens with those who already used nvd3 in their projects?
Can we have a few weeks / 2-3 months period to rewrite the code?
We can't just remove the code over night since the applications are used by some clients.
I totally agree with replacing the code, but we can't really do it over night...
Considering the amount of code there is a need for around 2 months of work in this case in order to keep the same functionality...
Might be done faster...but still not in one night or one week....
|Re: nvd3||Chris Viau||11/17/12 1:37 PM|
I would rename the NVD3 file and continue using it. It uses a common d3 patterns (developed by the community BTW). I don't use NVD3 at my job and I still came up with pretty much the same structure. What they own is mainly what is different than what the community has already done: a specific chart package and a name. If you are worried they are ready to spend billions to sue everybody using NVD3, you can tweak the code until you can legally claim it's yours. You don't have to start from scratch: they don't own D3, nor the reusable API, and nor the concept of a chart package on top of D3. I suppose they just wanted to stop the bleeding of an internal tool to the "competition". They did it the wrong way.
|Re: nvd3||bewest||11/17/12 9:10 PM|
This doesn't affect d3 at all.
|Re: nvd3||Makoto Inoue||11/18/12 2:14 AM|
Are their any separate google group, IRC, or github repo to discuss about the new project?
I am keen to contribute where possible, too.
|Re: nvd3||Chris Viau||11/18/12 8:10 AM|
We will start the new repo next week and start a new thread to explain how to contribute. What could be the name of this new project? I thought maybe of VD3 for visualizations in D3 and for NVD3 without the N (without Novus).
|Re: nvd3||David Durieux||11/18/12 8:30 AM|
VD3 look nice ;)
|Re: nvd3||Makoto Inoue||11/18/12 8:34 AM|
I actually never used nvd3, so not sure how much resemblance this new project is going to have, but may better not to have any influence (nor resemblance) from the predecessor (nvd3) unless you are paying tribute to the previous project.
How about rdd3 - reusable design for d3? It's better to have star war's rdd2 as its predecessor rather than nvd3 :-)
|Re: nvd3||Nate Vack||11/18/12 8:52 AM|
As you're thinking about an API for a new charting system, it may be
worth thinking about The Grammar of Graphics:
and the closely-related ggplot2 library in R:
It's a really elegant way to think about mapping information onto a
visual canvas. There's a start on this design in D3, as well:
|Re: nvd3||bewest||11/18/12 9:02 AM|
Wow, rdd3 is a nice suggestion.
|Re: nvd3||Mike Bostock||11/18/12 10:56 AM|
I would prefer a more distinct name, one without "D3" in it to avoid
confusion with the core library. Also, VD3 is very similar to the
forthcoming 3.0 release, d3.v3! Rickshaw is a good example of a
charting library built on D3 with a non-confusing name.
Whenever I try to come up with a new project name, I immediately think of this:
On a related note, I should come up with an extension of the reusable
chart pattern that demonstrates how to use d3.transition(selection).
These two static examples demonstrate the general update pattern (so
you can redraw charts with new data), but they don't support automatic
The closest example is actually the d3.svg.axis component, which can
be thought of as a mini-chart:
See how the code says things like d3.transition(path)? That means it
will inherit the parent transition if you transition.call(axis), or it
will just return the specified selection if you call
selection.call(axis). I find this approach much more flexible than
using an explicit chart.duration method, as I did in some of the
earlier reusable charts (e.g., box plots).
|Re: nvd3||Chris Viau||11/18/12 10:57 AM|
r2d3 was already used by the Raphael renderer for D3 project before being transfered to the D3 renderer for R by Hadley Wickham, the creator of ggplot2. ggplot2 is the best open source implementation of the Grammar of Graphics. It's also a big inspiration for D3. So I'm not going into that route. It will be like NVD3, because NVD3 was like what we wanted to do with the reusable API.
|Re: nvd3||Chris Viau||11/18/12 11:02 AM|
Ok. Let's come up with a name distinct from D3. We already started prototyping some charts and the next step we are working on is actually transition d3.v3 style. Once we have this first chart and a name. The project will be officially started.
|Re: nvd3||Anand Venkataraman||11/18/12 11:05 AM|
Sorry, couldn't resist quoting Knuth
|Re: nvd3||Nathanael||11/18/12 11:17 AM|
First of all, I choose to believe that based on the evidence (including the email evidence that I have from the GitHub issue #4) that a "Paperwork" issue has occurred and will be rectified shortly. :-) It is the only way for Novus in my opinion to save face and everyone to win from this; otherwise we all (including Novus) will lose.
I also appreciate the enthusiasm in the community to start another project -- that is awesome! However, I do believe Novus will fix there "paperwork" issue and basically have to re-open nvd3 and then (if they so choose) they can go closed source with later versions. And the community can rename nvd3 to whatever and proceed.
If the Apache license is truly invalid (rather than some silly "paperwork" issue internally in Novus); Then legally all 30 contributors contributions are no longer under the Apache License (since Novus is claiming it isn't valid for the project) -- which opens them up for to legal nightmare. Each contribution can apply whatever licenses they want including applying the "Max Afonov" method of nuclear destruction (i.e. remove all my code from your computers, git hub, immediately). Basically since my commit was git hub issue was #3; if I asked for complete removal; they would have to roll back to over 6 months and delete there github repository since there is no easy way that I know of in github to delete contributions or delete issues with code links. Basically the entire foundation for there existing copy of nvd3 is poison from a legal point of view.
Now I am not a lawyer; but my sister is, so I've learned a bit from her. ;-) And based on the Oracle vs Google and Sco vs Everyone; they have now a serious legal liability if it truly isn't under the Apache license. And at worst case if none of the 30 contributes really wanted to hire a lawyer; small claims court in a dozen jurisdictions by a dozen of us in the USA per code contribution will cost them more that simply fixing there "paperwork" issue.
P.S. I'm still looking to get into contact with more of the contributors, because I am going to try and call the CEO of Novus Monday and the more devs that I can say are on board allows us a stronger position of negotiation -- you can email me via the contact forms on either master-technology.com or congocart.com sites.
|Re: nvd3||Chris Rich||11/18/12 2:20 PM|
Whenever I try to write a new reusable chart, I ALWAYS find myself having axis.js open in another window. It's a great example. I highly recommend reading through it and Mike's reusable chart post for how to use the reusable chart pattern appropriately.
|Re: nvd3||Scott O'Reilly||11/19/12 8:33 AM|
I find it very hard to believe that Novus didn't know about this project being open source. Bob removed some code on July 19th and the commit message was, "Removing historicalStockChart, close sourceing it, sorry guys".
|Re: nvd3||lpg||11/19/12 12:23 PM|
Anyone else agree we should roll up these these D3.js charting efforts, and have a bigger community? NVD3 is/was the best thing out there. But if it will not come back, we should patch the charts and API directly to D3.js, or Rickshaw.
I wonder if it's not more productive for everyone to invest into iterating ( refactoring ?) Reusable D3 charts (http://bost.ocks.org/mike/chart/). I'm not sure it's smart to splinter our collective efforts on several D3 based charting solutions. The result will be several half-good libraries, and multiple intellectual property issues.
Lastly if the community becomes big enough we could afford to hire a lawyer, to collect on the contributions made to Novus' "proprietary" code.
|Re: nvd3||Nate Vack||11/19/12 1:04 PM|
On Mon, Nov 19, 2012 at 2:23 PM, lpg <lucas....@gmail.com> wrote:-1 on putting a charting API directly in D3. D3 is for a lot of stuff;
charting is but one aspect. I think it'd be far better
Meh. It sucks that they closed nvd3's source, but trying to lawyer it
out of them is almost certainly a waste of resources. It'll cost more
than just making something better and laughing at them.
|Re: nvd3||Nate Vack||11/19/12 1:05 PM|
On Mon, Nov 19, 2012 at 3:04 PM, Nate Vack <njv...@wisc.edu> wrote:Ahem, "send" button:
... I think it would be far better as a standalone library that depends on D3.
|Re: nvd3||Chris Viau||11/19/12 1:52 PM|
Just for the record, there is an interesting thread about the NVD3 case. Some comments are by lawyers specialized in open source regulations.
|Re: nvd3||lpg||11/19/12 2:50 PM|
@Nate I agree that d3 is not the place for it. However I was under the impression that MBostock was creating some more robust chart template/examples for d3 v3. So my thought it that it makes more sense for everyone to contribute in one place (nvd3 or rickshaw or d3 or whatever).
Yes lawyering-up is not an option now. But leeches like Novus probably won't pull that stuff on a bigger community.
|Re: nvd3||Max Afonov||11/19/12 4:29 PM|
Please see Novus' official statement on nvd3 with an explanation, apology, and commitment to its permanent status as an open-source project. We know this was a shock and a major inconveniece, but we want to regain the community's trust and involvement. Please see the full statement at: http://nvd3.org/statement.html
|Re: nvd3||Nathanael||11/19/12 6:50 PM|
Awesome -- I'm glad it was a "paperwork" issue. And I'm glad that it
has been returned to an open-source license. I for one will not have
any problems contributing any more changes -- so lets get to work
making this an even better library!
|Re: nvd3||Marc Fawzi||11/19/12 8:10 PM|
*Sounds like* manufactures drama
Even if it isn't ...
Sent from my iPhone
|Re: nvd3||Chris Lewis||11/19/12 9:26 PM|
|Re: nvd3||trevorj||11/20/12 3:50 AM|
There's something to be said about a company that makes it right in the end.
|Re: nvd3||Dan||11/20/12 4:16 AM|
I am also in :)
Can we set up a separate Google Group or similar to discuss what
should go into the core and what patterns to use etc?
|Re: nvd3||Nate Vack||11/20/12 7:36 AM|
Nice to hear!
Hope Bob didn't get in too much trouble :/
|Re: nvd3||Marc Fawzi||11/20/12 7:42 AM|
I am an outsider in that I never used nvd3 and personally i see no reason to use it.
I'm not sure why nvd3 uses the d3. In legal cases around trademarks, such naming is often phrased as "confusingly similar" But maybe the D3 license permits it?
I'm also not sure what was gained by the community ... Novus gained free publicity out of this. Good or bad.
Why not invest in a community-created d3 components library using the D3 reusable component pattern?
Rewarding Novus by supporting nvd3 can enforce this game pattern and encourage some companies (a minority most likely) to repeat the drama for the sake of publicity and do so intentionally.
Sent from my iPhone
|Re: nvd3||Weston Weems||11/20/12 8:14 AM|
Not sure anyone cares, but nvd3 is back... with official statement
|Re: nvd3||Nate Vack||11/20/12 8:26 AM|
On Tue, Nov 20, 2012 at 9:42 AM, Marc Fawzi <marc....@gmail.com> wrote:The BSD licence doesn't have anything to say about the trademarks; the
d3js.org site gives no indication of trademark registration or
protection. And the D3 community has inarguably been aware of nvd3's
existence and name, and hasn't (to my knowledge) asked them to change
So, in my understanding of trademarks, at this point, the D3 project
would have a very hard time making nvd3 change its name, and would
also have a hard time stopping someone else from starting a project
called "fooD3" (except by asking politely).
|Re: nvd3||Chris Lewis||11/20/12 2:12 PM|
Marc, this is the internet, so you are free to speculate as you please. We are an aggressive *start up*, and that means while we're busy changing an industry, we're working out how to evolve our internal structure and practices to that help us maintain our edge. We are growing very fast, and practices that work when you're a company of 6 doesn't scale when you push through 50+.
The reasons given in our statement our true, as is our remorse. If you poke around the internet you'll find about as many negative responses (such as yours) as positive. This event wasn't planned, and given that we have been visible to the community for a couple of years, not to mention nvd3's public presence for almost a full year before its temporary removal, it was an embarrassing event to endure.
For those who wish to concoct conspiracy theories about our motives or are simply just put off, you're still the beneficiary here. nvd3 is open source; fork it, rename it, foster your own community if you refuse to accept our position. This is open source, that's how it works. Otherwise we welcome your usage and contribution, and hope you'll help make it better.
PS In other news, if you want to work on cutting-edge web tech, we're hiring front-end engineers to work with our team in NYC.
|Re: nvd3||Chris Viau||11/20/12 2:15 PM|
A thread with 4150 views in 2 weeks also says something about how the D3 community is committed to open source :)
|Re: nvd3||Chris Viau||11/20/12 2:52 PM|
Hey, let's just rejoice that NVD3 is still there and still open source. Bob Monteverde was sincere when thinking he had the right to give Novus code under an open license. Someone at Novus had the reflex, the one you must have when you are in charge of a team and of a competitive product, to protect his assets, but lacked the elegance to tell it the right way. Someone else at Novus was also sincere and able to tell it in a very clear way. Open source is about trust. Let's keep this thread positive.
I'm sure more people use NVD3 in production environment than there are people who committed a significant amount of code to it. Let's contribute.
|Re: nvd3||Kai Chang||11/20/12 6:58 PM|
Thanks Novus for re-opening the project with an official statement.
That's what we needed to be certain we could continue using and
modifying the library.
Whatever the reasons for suddenly closing the repository and
requesting removals, Novus did respond to the community and ended up
doing the right thing.
For people working on reusable charts, I'd say keep using the d3-js
mailing list for discussion on patterns. Different library creators
make different choices, but by being aware of each others' choices we
can design for interoperability with other libraries, even those yet
to be created.
Bob Monteverde identified a community need with NVD3. I hope he
continues working on it.
|Re: nvd3||Marc Fawzi||11/20/12 8:56 PM|
Being nice and compassionate is not bad at all...
But it does not mean that we can't think critically about what happened
Sent from my iPhone