This is an interesting thread, balancing open source and commercial development and community development are difficult.
The key is honesty from both the supporting company, and the end users.
I’ve left open source projects in the past because of companies attempting to screwing over contributors to make a buck.
Dash I find different, and attractive because
- The front page says dash / plotly are open source but here is the commercial side of things a different product that uses dash & plotly as building blocks.
– Ok got it, I know what I’m walking into
- The API / SDK are there and open
– Could they be better and better documented, of course but considering my own level of documentation I’m not going to throw stones. I do feel it’s a best effort and I appreciate that.
Now why do I use Dash? Versus say D3… because ain’t nobody got no time for creating those hooks and callbacks.
How about Dash vs an off the shelf BI platform
- Dash / Plotly are agnostic of the data source, you provide the data it’s job is to render and make interactions possible.
– I can use whatever DB I want
– I don’t have some silly cache or ETL process to babysit
- I can design for scale as single / multi-tenant without having to bend my architecture or deployment to accommodate a proprietary solution generally created by a company who think 1Gb is a huge, HA is failover and a mounted file system, and wouldn’t know SSO if it bit them on the ass.
Are things frustrating in Dash / Plotly, yes, first time figuring stuff out and building your own modules hell yeah…
It felt like I was shoe horning python into React in a manor that feels unnatural, but eventually it makes sense and even starts to feel like it’s smart and somewhat brilliant.
Although what I wouldn’t give for it to have jinja so I can more easily embed it.
Are things fully python friendly, nope, you’d probably see more pandas wrappers around graphs rather than trying to extract series or axis yourself.
But I think that will come eventually, somebody will be tired of doing it for the 100th time and add their solution to the code base to help.
I only have 1 contribution to the eco system and have had a slew of folks asking for support, to the point I’d try to take 1 day every 2 weeks if I had time and see I can answer questions, fix bugs etc…
And i’ll be honest with you, I wanted to ask folks to please dust off their own skills and try to solve some of the problems themselves. It’s not an end user library, it requires some level of coding skill to make it work.
And I think people are missing that.
If you’d like something to be better, help out. If you’re not comfortable with the code, it’s definitely not night time reading, research how the problem has been solved elsewhere, test out things and even look at how to frame questions. I’ve lost count how many times I’ve had to go and look something up because someone says feature X doesn’t work…
- What’s feature X?
- Do you have a link to it?
- How are you using it, can you give me an example? Anything, Bueller? Bueller?
Everybody has priorities, even in open source, and they usually don’t align to the consumer of the software… respecting that with helping solve the problem any way you can it goes a long way.