Considero usar Discourse en mi sitio web futuro (gracias por crear este excelente software).
En caso de que realice algunas modificaciones (no necesariamente como un plugin), ¿requiere eso que mis modificaciones sean bajo GPL?
La modificación es solo para mi sitio web.
Soy consciente de que la GPL solo se aplica a la distribución. Sin embargo, software como Discourse siempre tiene una parte del front-end entregada al navegador. ¿Esto hace que todas las modificaciones sean GPL?
De manera similar para los plugins: ¿todos los plugins estarán bajo GPL?
¿Qué pasa en el caso de que un desarrollador cree una aplicación web más grande de la que Discourse forme parte, por ejemplo:
una aplicación de redes sociales con un componente de foro
utilizar Discourse de manera diferente a una aplicación de foro típica, por ejemplo, usarlo como sección de comentarios para un artículo.
¿Se obligará a que toda la aplicación utilice la GPL?
Sé que las discusiones aquí no constituyen asesoramiento legal, pero agradezco cualquier retroalimentación temprana.
Creo que el punto de Jay no era de naturaleza legal. Quieres conservar la capacidad de actualizar y volver a implementar Discourse desde cero con un solo clic. Todas las modificaciones técnicas deben ser plugins o componentes de tema. Ya existe una API, soporte para SSO, OAuth y webhooks, y siempre tienes la facultad de alojar el elemento de Discourse en un subdominio dentro del mismo dominio. Utiliza esas funciones para integrarte con software adicional. Considera la alternativa: una pesadilla de fusionar manualmente cambios en el núcleo y lidiar con migraciones personalizadas. ¡Pésimo, arriesgado y… costoso!
Los plugins te permiten modificar el software central de manera extensa y de muchas formas. Técnicamente, el potencial es ilimitado. Hacer las cosas de esa manera te obliga a integrar los cambios de la manera correcta, lo que resulta en una solución más robusta y confiable que puede aprovechar todo el trabajo duro que el equipo principal realiza en las funciones y la integridad de la aplicación principal.
Bueno, ten en cuenta que, por ejemplo, con tu aplicación de redes sociales, podrías tener un plugin que facilite la conexión a tu foro de Discourse.
Ya existe una variedad de plugins creados para utilizar cosas como:
Autenticación de Facebook
Steam
WeChat
Y más. El problema de modificar o hacer un fork es que terminas con posibles problemas de seguridad y errores que tú y tu equipo tendrían que corregir ustedes mismos.
El equipo de Discourse ha hecho que sea muy personalizable mediante plugins, temas y componentes de tema, además de usar CSS y scripts.
Te recomendaría más bien explorar lo que ofrece Discourse para ver cómo puede adaptarse sin necesidad de modificaciones directas drásticas.
Incluso hay un plugin de chat social llamado Babblechat.
Mi respuesta fue de carácter técnico. A menos que planees tener un equipo de varias personas dedicadas exclusivamente a fusionar nuevos cambios, querrás desarrollar complementos para resolver tu problema. Tus preocupaciones legales quedarán entonces sin fundamento.
No estoy seguro de que sea relevante en ningún caso. El problema fundamental es que, si bifurcamos Discourse, no podremos ofrecer ningún tipo de soporte.
Los únicos medios de extensibilidad compatibles son los complementos, los temas y el uso de los hooks en el archivo container.yml. No hay límite para lo que permiten lograr; bifurcar realmente no tiene ningún sentido.
Gracias a todos por sus aportes. Encontré este artículo con una buena discusión. El código del lado del cliente debería estar bajo licencia GPL, pero no el del lado del servidor.
Creo que quizás estás pasando por alto el punto. Si creas un plugin en GitHub y lo colocas en un repositorio privado, tienes control total para modificar Discourse (aunque sea mediante el enfoque de plugins) y posees y controlas totalmente esos cambios. Nadie más los verá y, según mi conocimiento, no tienes que temer ninguna implicación legal. Todo ello mientras puedes aprovechar los cambios principales con soporte oficial.
Un plugin te permite modificar tanto el frontend como el backend.
Hacer un fork de Discourse y modificarlo se volverá muy desordenado muy rápido, independientemente de la situación legal, por lo que no se recomienda.
Quizás sea mejor darle a Robert enlaces a configuraciones altamente personalizadas de Discourse para mejorar su comprensión y/o algunos de los complementos y temas más potentes.