Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ActiveAdmin Pro #4833

Closed
seanlinsley opened this issue Mar 4, 2017 · 12 comments
Closed

ActiveAdmin Pro #4833

seanlinsley opened this issue Mar 4, 2017 · 12 comments

Comments

@seanlinsley
Copy link
Member

seanlinsley commented Mar 4, 2017

Hi everyone! As you know, development on ActiveAdmin has been slow and bug-ridden for quite a long time. There have been questions of whether or not it's maintained ever since Greg Bell moved on in 2012. I took up the mantle in 2013, and actively maintained the project for two years, but around 2014/2015 I got extremely burned out of open source, and have barely contributed anything since.

It's simply not possible to consistently sustain such a large project on volunteer time alone. As such, I would like to find a way to pay contributors and maintainers. We're in luck, because ActiveAdmin is built for companies who don't want to reinvent the wheel when building their admin interface (likely taking up most of an engineer's salary), so it's only natural that those companies share some of those savings with ActiveAdmin maintainers and contributors, to:

  • fund top-notch new features, making their administration tasks easier than ever
  • receive priority support from the people that know ActiveAdmin the best: its maintainers
  • be known as a company that supports sustainability in Open Source, advertising to potential employees

I've opened tickets for a number of side topics, if you're interested in them:

What's next?

I plan to start working 30 hours a week for my employer, providing 10 hours a week to maintain ActiveAdmin. Once we've built a solid business plan (what exactly to build, for how many customers) I intend to open the business itself and apply for a loan.

In the meantime, I'm open to discussing corporate sponsorship of specific features. Is there something your company is dying to have?

What can I do to help?

Fill out this survey if your company is interested in purchasing ActiveAdmin Pro. I'm keeping the results of the survey private so I can filter out personally identifying information, but I'll post some parts of it in future updates.

Features

This is merely a list of features that I think would make ActiveAdmin better for users. Some of these will be added to the free version instead of the pro version. Some of them are way too complex to actually build.

Some of these features already exist in gems extending ActiveAdmin. Merging them into ActiveAdmin might not be necessary, but it would make it easier to ensure they're properly supported and maintained. I would love to be able to pay the original authors!

I've emboldened the features I'm excited about, though you may be excited about different features. That's what the survey is for!

  • data manipulation
    • database locking to prevent multiple people from updating a record at the same time
    • CSV import, either as a SQL insert or with Rails callbacks and validations applied
    • batch update on all rows in the database
      • this is an existing feature, but only applies to the first page of records
      • display that a batch update is in progress
      • prevent other batch updates from being started at the same time
    • spreadsheet-style inline editing
    • permissions, change approval process
    • multi-stage forms
    • PaperTrail integration
      • who did what
      • why they did it (recording business reasons alongside the change itself)
      • ability to restore deleted records
      • search based on version history
        • search for when an attribute was equal to "a"
        • search for when an attribute was changed from "a" to "b"
    • intelligently push requests into the background so the network request doesn't time out, based on the size of the table and historical performance of that request
  • querying your data
    • custom report generation (using some sort of UI -> SQL conversion, like Splunk does)
    • easy data visualization, possibly combined with custom reports
    • more dynamic, expressive search
      • automatically lists filters for any column in the database that has an index
      • smart handling of searches against huge association tables
  • UI
    • in-place updates when the underlying data changes
    • automatic deep linking on show pages, making it easy to navigate to an associated record
      • has_one / belongs_to would show up in a sidebar
      • has_many would show up as a table
    • an iOS and Android app using the Turbolinks native wrapper
    • push notifications for native and desktop
      • when changes happen, or need approval
      • when batch updates finish
      • when CSV imports finish (likely only required for large CSVs with validations applied)
    • a modern, mobile-friendly design
      • https://airtable.com is a good example
      • the ability to open a record as a modal from the index page, instead of navigating to a new page
    • easily configure status_tag colors from Ruby, instead of having to write fragile CSS
  • per-user customization
    • what notifications to receive
    • which filters to show (the filter sidebar can be overwhelming at times)
    • stored queries so you can revisit them with in the future with a single click
      • store the historical results of those queries, so you can compare the change over time
  • define your attributes (& how to display them) once, use everywhere
    • this can be used with deep linking on has_many associations
    • display_name should be moved into app/admin

Pricing

Sidekiq Pro started as a $50 one time payment, and unsurprisingly Mike made less than minimum wage for his effort. He later switched to a $950 yearly subscription fee, and now has $800,000 in annual revenue. Given how much ActiveAdmin does already, and how much we could provide in the Pro version, I would like to charge something similar to Sidekiq Pro.

It's possible that there could be different tiers, like Sidekiq Pro. That's going to come down to which features are only used by big companies, and which are likely to result in the most support time.

I would be interested in providing support contracts to non-Pro users, so they can receive prompt support even if they don't need the features in ActiveAdmin Pro.

@timoschilling
Copy link
Member

This isn't the right place for commercial announcements.

@varyonic
Copy link
Contributor

varyonic commented Mar 4, 2017

Sean, while I agree that ActiveAdmin is valuable, and maintainers are entitled to monetize their projects, I think you have not done enough to reach out through other channels to fellow maintainers of this project that have stepped up to help in your absence. Some of your fellow maintainers are not interested at all in your proposal and do not want this discussion. I think that as you are not the original author, have not been recently active, and never made a gem release your use of GitHub issues for this discussion is not welcome.

Speaking personally I appreciate and have benefitted from your efforts. You are welcome to provide commercial support and closed source add-ons to this project, just not using the name ActiveAdmin, which I believe is trademarked, and not by soliciting customers through project issues.

@seanlinsley
Copy link
Member Author

I apologize for not reaching out to recent contributors, but I've consulted Greg, Timo, as well as a few past contributors, and they were welcome to the idea.

I don't mean to nitpick, but I did release 0.6.x patch builds to Rubygems. And anyway I think it's unfair to use that against me; a lot of people complained about the lack of releases, but few were willing to put in the time to get it done.

I of course won't go forward with this if we can't agree, but it's hurtful to be pushed away given all I've put into this project.

@timoschilling I notified you of my intentions to announce here on GitHub two weeks ago. It would've been much more productive to have discussed this privately.

I won't re-open this ticket, but I won't stop the discussion here. This is my space just as it is yours.

@seanlinsley
Copy link
Member Author

To those who disagree with my plans, please speak up. What are your concerns? How would you prefer to make the project sustainable?

@seanlinsley
Copy link
Member Author

This is currently being discussed in a private Slack room, for anyone curious about the radio silence.

@seanlinsley
Copy link
Member Author

Unfortunately, ActiveAdmin's new maintainers had drafted an email to me but didn't send it in time. It appears they're simply not interested in this proposal, and I have no interest in continually fighting them to get it built.

If y'all eventually decide you like this idea, feel free to run with it. But I don't have the stamina to get this off the ground without the support of the rest of the team.

This also means I'll be officially stepping down as a maintainer. I have no interest in donating my labor to software that's primarily used by companies, nor being part of a team that has so little trust in me.

@timoschilling
Copy link
Member

nor being part of a team that has so little trust in me.

This has nothing to do with trust!

@pwim
Copy link

pwim commented Mar 7, 2017

When I first saw that ActiveAdmin was going to have a pro version, I was incredibly excited. Developer burn out is a big problem in open source, and monetization is a great way of combatting it. Reading this thread though, I'm disappointed to see how things have turned out.

From my perspective, I don't see any downside to releasing a "pro" version, especially if you leave the existing core as is. The other maintainers can continue supporting the open source version as before. A pro version could be independent of the open version.

While it would be great if this was an "official" pro version, you could theoretically move forward totally independently. See Rails LTS for an example of independent commercial support of an open source project.

Through this proposal, everyone would get paid to work on this project (#4835). However, I think that both ignores the motivation of people, and overcomplicates things. Instead, I'd start with only having Sean get paid, as he'd be the main force behind the commercial version. Generating enough revenue to support a single person from an open source project is hard enough. Once he's getting paid enough to work full time on it, then it could be worth considering how to get other people involved.

Though I was not involved in any of the private discussion, I'm guessing the issue the other maintainers had with the proposal was it felt like Sean was claiming activeadmin as his own, and was seizing control of the project's future. As I understand it, Sean's intention was to be paid to work on activeadmin, and activeadmin pro was just a means to that end. Maybe releasing a "pro" version isn't the right way to go, but I think there must be some way for Sean to generate revenue to fund active admin development.

@macfanatic
Copy link
Contributor

I'm sad the conversation was shut down so quickly and in a pretty distasteful way.

I thought this was a great idea and having worked with Greg at his startup years ago using ActiveAdmin, contributing as open source, and now running my own agency, I have a respect and love for AA - even without the time to donate back.

Simply put, I think there is a market for premium AA releases and support and Lotus would have been a customer on several of our projects if we'd have access to enhanced features and regular builds.

@AlexVPopov
Copy link
Contributor

I'd like to give my 2 cents on the subject. I think there are two main topics here, that are discussed:

  1. How appropriate is it to have this discussion here?
  2. Does a commercial version of AA make sense?

How appropriate is it to have this discussion here?

While I agree with the opinion that "Github is a place for open source and community", I definitely disagree that it's sole purpose is to host open source/non-commercial projects. Otherwise, why would they provide a paid tire and private repositories? Also, I don't think that GitHub would have become what it is today without providing commercial services and having their own code closed-sourced. And also, there are plenty of closed-source or open-source, but commercial projects, that are hosted on GitHub.

Having cleared whether commercial software has any place on GitHub, I would also argue, that it is ok to post this in the issues of this project. The reason is, that currently, there are plenty of communication channels around each project - mailing lists, GitHub issues, StackOverflow, Slack, Gitter. I think that such a crucial discussion needs to be done at the place, which has the highest exposure on the users and people, that care for ActiveAdmin. As this happens to be the GitHub issues, I see it fit for this discussion to happen here.

Does a commercial version of AA make sense?

In my opinion, it totally makes sense and it makes sense exactly in the way Sidekiq is commercialized. @seanlinsley I think these are the first steps, that you need to make:

  1. Clear the legal/licensing aspects. I am not very knowledgeable on the subject of licensing, but you have to find out, whether it is legal to use the code for a commercial version. Maybe, some royalties need to be paid to Gregg or whoever has worked on the project. I don't know, you need to find experts and ask these questions.

  2. Decide what resources are required to execute this project. If you think you will not be able to handle it on your own, you first need to find people, who are willing to work on this with you.

If both of these turn out to be ok, why don't you give it a go?

@scarroll32
Copy link

There is a player in this space https://www.forestadmin.com/

@joshmn
Copy link

joshmn commented Mar 6, 2018

@seanfcarroll I think that would support the idea of having a "Pro" version of ActiveAdmin, don't you? Competition is good because it proves that there's at least some sort of market validation out there. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants