Have you guys ever thought about creating a marketplace for plugins and themes?

Have you guys ever thought about creating a marketplace for plugins and themes?

Reasons for this question

  1. Discourse allows developers to create themes and plugins. This is very interesting. My question would be whether there is a marketplace for paid plugins and themes within Discourse. For example, I would like to create paid themes and plugins. Because I could get paid for the plugins and themes I develop for Discourse. A great example of this is Themeforest, vou can create a website and if someone likes your website, you earn money from selling that specific website on Themeforest.

  2. In my case, I would sell my plugins and themes within Discourse to specific clients or companies. The advantage that I think is good for this idea is that it can encourage more developers to create more plugins and themes for Discourse, as well as integrate more services, companies and clients. In other words, it’s just another way to make Discourse even more viable, which is already something interesting, relevant and consolidated. Another great advantage of a marketplace is the fact that you earn a percentage value of money from the developer of that plugin or theme within the platform itself.

  3. Some developers may think this is good or not interesting. Because depending on the percentage value, sometimes it is bad for you to develop something and receive very little. About this, as I said, there are those who support it and there are those who think that the marketplace is not something good or viable.

  4. I believe developers like me who are starting in the information technology field - it’s better to develop plugins and themes for something that already exists and is consolidated like Discourse than to make something new and from scratch - Because it usually takes a lot of time and a lot of research and marketing for this to work, to be financially viable. Also, normally you would have to win over customers and companies and that also takes time. In addition to the credibility, reputation and brand you build.

  5. Usually people who don’t like marketplaces are developers who want or have the need to own a business. About these developers, nothing prevents them from creating a website with themes and plugins for Discourse specific to companies and customers that they have contact with and need to make more money than they would in the central marketplace, so to speak.

  6. Many open source projects I’ve met and researched have a subscription business model. Usually, in these cases, there is what we call a plan type. These are usually these 3 plans: community, company, business. The community plan generally has no technical support for customers and is free. Enterprise is the plan that supports customers and is paid. The business plan is usually for large companies and is negotiable and paid. I don’t know how Discourse’s business model works, but I think from what I’ve seen on the main site that it’s the subscription model. I could be wrong, and if so, I apologize.

  7. A subscription model is a type of business model. So, usually companies that opt for this type of business model (ie the subscription model), usually also want or think about having a marketplace. A good example of this is Themeforest, in the past you just made websites and put the payment link there, so if someone was interested in your website, you sold and made money. Nowadays on Themeforest you can create plugins and sell them there too. It’s something I think is really cool and interesting, as a business model.

  8. As I said earlier, it’s just an overview of what I think would be interesting as a developer. In addition, I see the marketplace as something that can enable open source projects. For the main reason that we can make money with plugins and themes specific to the clients we serve. This is a very ideal scenario and I think it’s interesting because you give developers more freedom to continue using this software. Also, it increases more integrations with more software as well.

Notes
  1. If anyone can read and discuss any points of view for or against I would appreciate the feedback.
  2. I’m not criticizing Discourse’s business model.
  3. I believe that if the percentage value of paid plugins and themes isn’t too bad(too expensive), it would be a great start for the Discourse Marketplace.
  4. I cited the example of Themeforest, but there are several companies that make the subscription model with marketplace like Google. Many Google products are subscription models and have a marketplace, an example of this is Google Docs.
  5. I talked about ThemeForest or Google or Google Docs, just to cite a real example of a business with subscription and marketplace together, my goal is not to promote anything, I just mentioned it to be something of reference.
2 Likes

I thought about this too. Maybe all the people that are into discourse plugin development should get together and build a no-fees marketplace with crypto. We just need a way to give private access to github repos. We could host a gitea instance and build a “crypto door” in front of the repos.

1 Like

You can just “sell” people a deploy key to a private Github repo?

My tip: don’t over-engineer your solution before your business model is proven to work. Read Ryan Hoover's Personal Website

3 Likes

The model most used here is bespoke plugins and themes for pay and open source plugins that give the developer credibility (and skill development). Sometimes a plugin that is developed for a particular client will be released as own source.

Those looking for help can post in #marketplace. It’s rarely done, but you can also offer services at #marketplace.

2 Likes

too much hassle granting and revoking access and managing payments means you need to charge high prices and cant sell in volume/market to larger audiences.

very good point.

2 Likes

Hi, all.

My concept Discourse marketplace :

  1. I thought of the following simple solution and that could help in this case, we can ask for the plugins to be sent as a zip file with a password. The server would only have to unzip the file and install the plugin in Discourse. The password could be an encrypted key that the person creates to install.
  2. Thus, it will only be unzipped with a key. The key only unzips the file after payment is made. Now this scenario works for paid plugins or open source plugins too, it depends on the developer.
  3. If the problem is to visualize the source code, one way is to use an Obfuscator. When the code has been sent to the repository, it goes through an obfuscation process, where this code is wrapped and can only be viewed with a specific developer key.
  4. The solution I am describing would be similar to what you would have with flatpack on ubuntu, which is a package that you download and install on ubuntu without necessarily having to install via command line, flatpack would be like an executable file where you just give the next, next as Windows.
  5. To map the repositories we can use the Github api for that - this would only work for plugins that are hosted on Github and that are public. Github has an API where you can search repositories by tag.
  6. Another way would be to use a webcrawler here to map possible paid repositories. I just don’t know if webcrawler complies with Discourse’s privacy and security terms license. Like commenting and I was able to read all the comments, if you post on the hashtag #marketplace, it’s usually paid plugins on Discourse where you can show it to the world.
  7. In short, I think developers can in theory post the link to these repositories directly on the site they host the zip file. Then the webscraper takes the link through the marketplace tags and displays the plugins in the paid category. If you want to install the paid plugin, one way would be to pay, so the zip is released and after being released the zip is unzipped with the activation key that is made after payment.
  8. For this solution to be elegant we can do something like .discoursepack.
  9. The .discoursepack extension is an extension to the custom zip format, it is the format for installing the plugin in Discourse.

Idea summary - proof of concept

  1. source code → source code obsfunction + encrypted key → generate file discoursepack → | unzip file discoursepack ← → add encrypted key
  2. The server stores discoursepack files for a period of time
  3. To install the paid plugin on Discourse it is necessary to unzip the discoursepack file with the password you received when making the payment.
  4. Without the encryption key it is not possible to create the file discoursepack. Just as it is not possible to open or read this type of file discoursepack.
  5. Paid plugins can be hosted on Discourse’s own server or they can be hosted on the plugin manufacturer’s server.
  6. Open plugins can be hosted on Github.
  7. If the open source plugins are not hosted on github and not public, a viable solution is to require the link where the discoursepack file is.
  8. If they are paid plugins, these plugins are not hosted on Discourse - So in this case, as they are hosted on the manufacturer’s website, it is necessary for the manufacturer to present the direct link to this file through a key that only he knows and is temporary for all means of payment.
  9. If you have a high volume of plugins to be uploaded on Discourse recommend the cms cockpit which is light and shouldn’t weigh too much.

plugin open source config.yml

server:
  host: 127.0.0.1
  port: 8006
  debug: true
analytics:
  enabled: true
  tag: xx-xxxxx-xxx
plugin:
  title: authmatic-example
  type: public, paid # or public, nopaid
  description: authmatic-example from a developer who does things. Powered by authmatic-example company.
  url: https://github.com/authmatic-example/releases/v1/authmatic-example.discoursepack
  releases: v1
  author:
    name: authmatic-example
    github: authmatic-example
    twitter: authmatic-example
    site: authmatic-example.com
    avatar: /assets/avatar.jpg
keystore:
  enabled: true
  client_id: xxxxxxxxxxxxxxxxxxxxxxxxx
  client_secret: xxxxxxxxxxxxxxxxxxxxxxxxx
  repo: authmatic-example
  owner: authmatic-example
  admins: [authmatic-example]
log: true
  format: text
  level: info
  line: true

plugin closed source config.yml

server:
  host: 127.0.0.1
  port: 8006
  debug: true
analytics:
  enabled: true
  tag: xx-xxxxx-xxx
plugin:
  title: authmatic-example
  type: private, paid
  description: authmatic-example from a developer who does things. Powered by authmatic-example company.
  url: client_url_temp
  releases: v1
  author:
    name: authmatic-example
    github: authmatic-example
    twitter: authmatic-example
    site: authmatic-example.com
    avatar: /assets/avatar.jpg
keystore:
  enabled: true
  client_id: xxxxxxxxxxxxxxxxxxxxxxxxx
  client_secret: xxxxxxxxxxxxxxxxxxxxxxxxx
  client_url_temp: xxxxxxxxxxxxxxxxxxxxxxxxx
  repo: authmatic-example
  owner: authmatic-example
  admins: [authmatic-example]
log: true
  format: text
  level: info
  line: true

mvp - minimal value product

acceptable file size limits

  1. 100mb or 900mb file discoursepack.

reference

I have the feeling you’re trying to solve a problem that does not exist, and you’re throwing out the baby with the bathwather.

Your solution does not allow for easy updating, is hard/impossible to use in automated deployments and is easy to circumvent.

Deploy keys and a Git repository will suffice and don’t have the above drawbacks.

Again, my tip: validate your business model first and focus on the value. First make a plugin that everyone wants to buy, then solve the problem how to sell it.

4 Likes

It’s only a slight exaduration to suggest that no one on the planet would would pay for a plugin could install a plugin that is an encrypted zip.

I have a platform that could potentially install plugins using deploy keys on sites that it manages.

Another solution would be to make the plugin publicly available but have it phone home to see if some license is valid. It could be easily cheated by someone who edited the code, but I think that’s how a bunch of WordPress plugins work.

1 Like

What you said makes sense, sorry. your feedback is very valid and i hadn’t thought about it

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.