[HN Gopher] GoJS 2.2: JavaScript and TypeScript Diagramming library
       ___________________________________________________________________
        
       GoJS 2.2: JavaScript and TypeScript Diagramming library
        
       Author : simonsarris
       Score  : 78 points
       Date   : 2022-01-20 15:41 UTC (7 hours ago)
        
 (HTM) web link (gojs.net)
 (TXT) w3m dump (gojs.net)
        
       | hajhatten wrote:
       | Not to be confused with GopherJS, the Go->Javascript compiler
       | https://github.com/gopherjs/gopherjs
        
       | devy wrote:
       | They have a non-standard source license. I doubt the legal would
       | be excited engineering team to adopt some of these in the
       | codebase.
       | 
       | https://gojs.net/latest/license.html
        
         | [deleted]
        
         | imachine1980_ wrote:
         | I think the problem is that you need to subscribe to know the
         | pricing model, I don't try anything that don even show the
         | pricing up-front and what difference licenses they offer, is
         | like they want you to make into production before you notice
         | that you have unlicensed software and pull the trigger if you
         | dont pay. that's is really nasty business model.
        
           | Veuxdo wrote:
           | Looks like their pricing is here:
           | https://nwoods.com/sales/index.html
        
             | tekacs wrote:
             | Which is behind the 'Buy' button in the top nav.
             | 
             | Not sure what happened in the grandparent comment, but it's
             | very much transparent and easy to find.
             | 
             | It also has a neat calculator, so it's easy to figure out
             | exact pricing for various scenarios, which is quite unlike
             | so many closed libraries I've seen.
             | 
             | Running in dev mode it also has a visible watermark on it,
             | which says "GoJs evaluation (c) Northwoods Software. Not
             | for distribution or production use nwoods.com", meaning
             | there's almost zero chance that you wouldn't notice at dev
             | time that you'd need to license this before putting it into
             | production.
        
         | simonsarris wrote:
         | (I make GoJS)
         | 
         | Although several companies do negotiate custom license
         | agreements with us, it is not very common. Almost all the names
         | here use the standard license:
         | https://nwoods.com/sales/customers.html
        
       | FnuGk wrote:
       | despite the name, this confusingly have nothing to do with the go
       | programming language
        
         | Scarblac wrote:
         | Well that's to be expected if you name your language Go. It's
         | not exactly distinctive, is it?
        
         | simonsarris wrote:
         | We started with Go++ (C++) more than two decades ago, and went
         | on to make Java, .NET, and JavaScript versions of the library.
         | "Go" here stands for Graph Object, GraphObject being the base
         | class for drawn objects.
        
         | jerf wrote:
         | Their github repo goes back to 1.4.0 or so around Apr 2014;
         | their changelog goes back to 1.0.0. Go 1.0 was released March
         | 2012. GopherJS' first commit is showing as Aug 2013. I'm not
         | sure what GoJS' first release is but it seems likely to me it
         | predated the Go project that really looks like "GoJS" and
         | plausible that it predated Go 1.0 entirely.
         | 
         | So it looks like just one of those things.
        
           | jjtheblunt wrote:
           | I also can't find proof, but I think Go the language was
           | previously essentially Limbo the language at Bell Labs in the
           | Plan9 OS world, and when the team moved to Google they
           | updated Limbo naming it Go.
           | 
           | It seems (from simonsarris comments) that GoJS was created in
           | the Limbo naming era, and is itself an acronym.
        
       | ehutch79 wrote:
       | Is this not a go library?
        
       | JenniferRM wrote:
       | Huh... The graph editing is coming from _inside_ the browser!
       | https://gojs.net/latest/learn/interactivity.html
        
       | klaussilveira wrote:
       | This one has a better license: https://github.com/clientIO/joint
       | 
       | And this one is nice too: https://github.com/bpmn-io/diagram-js
        
       | rhacker wrote:
       | It looks very easy to use. I might have to use this for
       | something.
        
       | montroser wrote:
       | In a past life I spent many months deep in this library. There
       | were some good things about it. Documentation is decent,
       | performance was good, and their support was great.
       | 
       | But still, it was a massive hindrance not to be able to dig into
       | the library source when needed. I spent days grokking decompiled
       | library code in order to get done what needed getting done.
       | 
       | When it came time to grow the team, I couldn't in good conscience
       | ask new hires to invest in learning all of this proprietary
       | bespoke SVG-like-but-different ecosystem, knowing it would be
       | frustrating and learnings would likely not be fundamentally
       | applicable to other future endeavors.
        
         | greymalik wrote:
         | What did you use instead?
        
       | yboris wrote:
       | For those interested in seeing the _call graph_ within your
       | TypeScript code, try _TypeScript Call Graph_
       | 
       | https://github.com/whyboris/TypeScript-Call-Graph
        
       | yboris wrote:
       | My favorite diagramming software is _yEd graph editor_. My
       | favorite feature: automatic layout (decreasing overlapping lines,
       | etc).
       | 
       | https://www.yworks.com/products/yed
        
       ___________________________________________________________________
       (page generated 2022-01-20 23:02 UTC)