Vocês já pensaram em criar um marketplace para plugins e temas?
Motivos para esta pergunta
O Discourse permite que desenvolvedores criem temas e plugins. Isso é muito interessante. Minha pergunta seria se existe um marketplace para plugins e temas pagos dentro do Discourse. Por exemplo, eu gostaria de criar temas e plugins pagos. Porque eu poderia ser pago pelos plugins e temas que desenvolvo para o Discourse. Um ótimo exemplo disso é o Themeforest, onde você pode criar um site e, se alguém gostar do seu site, você ganha dinheiro vendendo esse site específico no Themeforest.
No meu caso, eu venderia meus plugins e temas dentro do Discourse para clientes ou empresas específicas. A vantagem que eu acho boa para essa ideia é que ela pode incentivar mais desenvolvedores a criar mais plugins e temas para o Discourse, além de integrar mais serviços, empresas e clientes. Em outras palavras, é apenas mais uma forma de tornar o Discourse ainda mais viável, o que já é algo interessante, relevante e consolidado. Outra grande vantagem de um marketplace é o fato de que você ganha um valor percentual de dinheiro do desenvolvedor desse plugin ou tema dentro da própria plataforma.
Alguns desenvolvedores podem achar isso bom ou não interessante. Porque dependendo do valor percentual, às vezes é ruim você desenvolver algo e receber muito pouco. Sobre isso, como eu disse, há quem apoie e há quem ache que o marketplace não é algo bom ou viável.
Acredito que desenvolvedores como eu, que estão começando na área de tecnologia da informação, é melhor desenvolver plugins e temas para algo que já existe e é consolidado como o Discourse do que fazer algo novo e do zero - Porque geralmente leva muito tempo e muita pesquisa e marketing para que isso funcione, para ser financeiramente viável. Além disso, normalmente você teria que conquistar clientes e empresas, e isso também leva tempo. Além da credibilidade, reputação e marca que você constrói.
Geralmente, pessoas que não gostam de marketplaces são desenvolvedores que querem ou têm a necessidade de possuir um negócio. Sobre esses desenvolvedores, nada impede que eles criem um site com temas e plugins para Discourse específicos para empresas e clientes com os quais têm contato e precisam ganhar mais dinheiro do que ganhariam no marketplace central, por assim dizer.
Muitos projetos de código aberto que conheci e pesquisei têm um modelo de negócios de assinatura. Geralmente, nesses casos, existe o que chamamos de tipo de plano. Geralmente são estes 3 planos: comunidade, empresa, negócio. O plano comunitário geralmente não tem suporte técnico para os clientes e é gratuito. O empresarial é o plano que dá suporte aos clientes e é pago. O plano de negócios geralmente é para grandes empresas e é negociável e pago. Não sei como funciona o modelo de negócios do Discourse, mas acho que, pelo que vi no site principal, é o modelo de assinatura. Posso estar errado e, se estiver, peço desculpas.
Um modelo de assinatura é um tipo de modelo de negócios. Portanto, geralmente empresas que optam por esse tipo de modelo de negócios (ou seja, o modelo de assinatura), geralmente também querem ou pensam em ter um marketplace. Um bom exemplo disso é o Themeforest, antigamente você apenas criava sites e colocava o link de pagamento lá, então se alguém se interessasse pelo seu site, você vendia e ganhava dinheiro. Hoje em dia no Themeforest você também pode criar plugins e vendê-los lá. É algo que acho muito legal e interessante, como modelo de negócios.
Como disse anteriormente, é apenas uma visão geral do que eu acho que seria interessante como desenvolvedor. Além disso, vejo o marketplace como algo que pode viabilizar projetos de código aberto. Pelo principal motivo de que podemos ganhar dinheiro com plugins e temas específicos para os clientes que atendemos. Este é um cenário muito ideal e acho que é interessante porque dá aos desenvolvedores mais liberdade para continuar usando este software. Além disso, aumenta mais integrações com mais softwares também.
Notas
Se alguém puder ler e discutir quaisquer pontos de vista a favor ou contra, agradeceria o feedback.
Não estou criticando o modelo de negócios do Discourse.
Acredito que, se o valor percentual de plugins e temas pagos não for muito ruim (muito caro), seria um ótimo começo para o Marketplace do Discourse.
Citei o exemplo do Themeforest, mas existem várias empresas que adotam o modelo de assinatura com marketplace, como o Google. Muitos produtos do Google são modelos de assinatura e têm um marketplace, um exemplo disso é o Google Docs.
Falei sobre ThemeForest ou Google ou Google Docs, apenas para citar um exemplo real de um negócio com assinatura e marketplace juntos, meu objetivo não é promover nada, apenas mencionei para ser algo de referência.
Pensei nisso também. Talvez todas as pessoas que se dedicam ao desenvolvimento de plugins de discourse devessem se reunir e construir um marketplace sem taxas com criptomoedas. Precisamos apenas de uma maneira de dar acesso privado a repositórios do GitHub. Poderíamos hospedar uma instância do Gitea e construir uma “porta cripto” na frente dos repositórios.
O modelo mais utilizado aqui são plugins e temas personalizados pagos e plugins de código aberto que conferem credibilidade ao desenvolvedor (e desenvolvimento de habilidades). Às vezes, um plugin desenvolvido para um cliente específico é lançado como código aberto.
Aqueles que procuram ajuda podem postar em Marketplace. Raramente acontece, mas você também pode oferecer serviços em Marketplace.
muito incômodo conceder e revogar acesso e gerenciar pagamentos significa que você precisa cobrar preços altos e não pode vender em volume/mercado para públicos maiores.
Pensei na seguinte solução simples que poderia ajudar neste caso: podemos pedir que os plugins sejam enviados como um arquivo zip com senha. O servidor só teria que descompactar o arquivo e instalar o plugin no Discourse. A senha poderia ser uma chave criptografada que a pessoa cria para instalar.
Assim, ele só será descompactado com uma chave. A chave só descompacta o arquivo após o pagamento ser efetuado. Agora, este cenário funciona para plugins pagos ou plugins de código aberto, depende do desenvolvedor.
Se o problema for visualizar o código-fonte, uma maneira é usar um Ofuscador. Quando o código for enviado para o repositório, ele passará por um processo de ofuscação, onde esse código é encapsulado e só pode ser visualizado com uma chave de desenvolvedor específica.
A solução que estou descrevendo seria semelhante ao que você teria com o flatpack no Ubuntu, que é um pacote que você baixa e instala no Ubuntu sem necessariamente ter que instalar via linha de comando, o flatpack seria como um arquivo executável onde você apenas clica em próximo, próximo como no Windows.
Para mapear os repositórios, podemos usar a API do Github para isso - isso só funcionaria para plugins hospedados no Github e que sejam públicos. O Github tem uma API onde você pode pesquisar repositórios por tag.
Outra maneira seria usar um webcrawler aqui para mapear possíveis repositórios pagos. Eu só não sei se o webcrawler cumpre os termos de licença de privacidade e segurança do Discourse. Como comentar e eu pude ler todos os comentários, se você postar na hashtag #marketplace, geralmente são plugins pagos no Discourse onde você pode mostrar para o mundo.
Em resumo, acho que os desenvolvedores podem, em teoria, postar o link desses repositórios diretamente no site onde hospedam o arquivo zip. Então o webscraper pega o link através das tags marketplace e exibe os plugins na categoria paga. Se você quiser instalar o plugin pago, uma maneira seria pagar, então o zip é liberado e após ser liberado o zip é descompactado com a chave de ativação que é feita após o pagamento.
Para que essa solução seja elegante, podemos fazer algo como .discoursepack.
A extensão .discoursepack é uma extensão do formato zip personalizado, é o formato para instalar o plugin no Discourse.
O servidor armazena arquivos discoursepack por um período de tempo
Para instalar o plugin pago no Discourse é necessário descompactar o arquivo discoursepack com a senha recebida ao efetuar o pagamento.
Sem a chave de criptografia não é possível criar o arquivo discoursepack. Assim como não é possível abrir ou ler este tipo de arquivo discoursepack.
Plugins pagos podem ser hospedados no próprio servidor do Discourse ou podem ser hospedados no servidor do fabricante do plugin.
Plugins abertos podem ser hospedados no Github.
Se os plugins de código aberto não estiverem hospedados no github e não forem públicos, uma solução viável é exigir o link onde o arquivo discoursepack está.
Se forem plugins pagos, esses plugins não são hospedados no Discourse - Então, neste caso, como são hospedados no site do fabricante, é necessário que o fabricante apresente o link direto para este arquivo através de uma chave que só ele conhece e é temporária para todos os meios de pagamento.
Se você tiver um alto volume de plugins para serem carregados no Discourse, recomendo o cms cockpit, que é leve e não deve pesar muito.
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 # ou public, nopaid
description: authmatic-example de um desenvolvedor que faz coisas. Desenvolvido pela empresa authmatic-example.
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 de um desenvolvedor que faz coisas. Desenvolvido pela empresa authmatic-example.
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
Tenho a sensação de que você está tentando resolver um problema que não existe e está jogando fora o bebê com a água do banho.
Sua solução não permite atualizações fáceis, é difícil/impossível de usar em implantações automatizadas e é fácil de contornar.
Chaves de implantação e um repositório Git serão suficientes e não terão os inconvenientes acima.
Novamente, minha dica: valide seu modelo de negócios primeiro e concentre-se no valor. Primeiro crie um plugin que todos queiram comprar, depois resolva o problema de como vendê-lo.
É apenas um pequeno exagero sugerir que ninguém no planeta pagaria por um plugin e não conseguiria instalar um plugin que é um zip criptografado.
Tenho uma plataforma que poderia potencialmente instalar plugins usando chaves de implantação em sites que ela gerencia.
Outra solução seria tornar o plugin publicamente disponível, mas fazer com que ele se comunique para verificar se alguma licença é válida. Poderia ser facilmente enganado por alguém que editasse o código, mas acho que é assim que muitos plugins do WordPress funcionam.