标书撤回
让我们删除此页面。 我们会考虑撤回提案,但不会删除该页面,因为头脑风暴有价值。 我们通过考虑过去的智慧和经验来改进想法和计划。 你提出了一些建议,并给出了一些答案/理由。 情况可能会改变,争论/建议可能会演变。
Tiki的一个版本
探索只切换到Tiki的一个主版本的可能性,在3个月的更新周期中使用STS(随时提供安全补丁),在“滚动发布”周期中使用一个领先的Beta(因此消除LTS和所有其他版本) 作为整体计划的一部分,以提高Tiki的质量和可持续性,并发展开发商和非开发商社区。 这在2020年12月的Dev List上进行了非正式讨论 这在2021年1月的TRM中得到了更为正式的解决, “第二小时主题”第4点、第5点和第6点
为什么?
更好地利用当前开发人员的时间 就Tiki当前的哲学而言,似乎没有足够的开发人员(“Iki无所不能”)(应添加统计数据) 我认为“Tiki无所不能”的理念与开发人员的数量之间没有直接关系。 Tiki的许多/大多数功能都很成熟,不需要太多维护。
似乎太多了 过去的版本 过去的版本被定义为所有LTS和STS比最新LTS旧。 需要支持的Tiki,即使只是小的安全修复,也与可用的开发人员数量有关。 我认为没有LTS版本会给希望长期支持稳定的组织带来问题。 现在,人们可以拥有一个支持的Tiki,每4年升级一次(不容易),在此期间升级8-10次(容易)。 相反,您建议每年进行4次主要升级,因此这将意味着16次主要升级+次要发布(可能在4年内进行5-10次,甚至更多)。 因此,升级次数增加了一倍多。 因为它将是更增量的,其中一些主要版本将很容易升级,但如果没有LTS,社区将永远不会知道几个月后是否会有重大的破坏性升级。 有了LTS,我们可以将所有最具破坏性的更改(如Bootstrap 3和Bootstrap 4)集中在后LTS中。 对于每个Tiki实例,用户可以在稳定性和创新性之间进行选择。 此外,3个月的时间还不足以进行重大更改,如转到Bootstrap 5。 在我对自2003年以来一直在做这件事的人的不那么谦逊的看法中:认为删除LTS版本会神奇地集中所有精力,使事情更加稳定,这是有缺陷的逻辑。 事实上,社区中的大多数人都不会遵循,我们最终会得到各种不支持版本的大量Tikis。 现在,至少,我们正在将LTS用户聚合在一起,这些版本确实得到了支持。 维护LTS版本对社区来说总体上要比您建议的工作量少一个数量级。 因此,这样做(删除LTS版本)将极大地伤害社区。 我可以马上告诉你,这不会发生。 我们可以调整STS的月数(之前是6个月,现在是8个月)。 它可以更快,也可以更慢,但LTS的概念仍然存在。 LTS现在是每3个版本。 这可能或多或少。 总的5年支持也可以调整。 我们只需要仔细权衡利弊。
提高质量 开发人员列表和论坛上有许多报告似乎表明当前Tiki管理员更喜欢更多功能,而不是更高质量的现有功能 我认为这实际上不是问题所在。 如前所述,Tiki经常会获得一个新功能,因为Tiki顾问的客户需要该功能,并且有预算支付,因此它会被添加到Tiki代码中。 Tiki管理员或开发人员并没有做出偏好或选择。 当然,现有功能中的缺陷需要修复,这是困扰我和我们所有人的问题,但问题是谁有作为志愿者的技能和时间。 甚至有可能,如果Tiki中的编码人员决定,好吧,让我们不要为新功能开发客户要求的付费功能,而只是修复现有的错误,那么这些开发人员如何谋生? 他们必须找到一份工作/客户来做Tiki以外的事情,很可能对这个项目不再有时间或兴趣。 另一方面,由于有客户为新功能付费而成为社区一部分的开发人员也倾向于修复代码中除该功能之外的其他错误。 -
@迈克·芬科 :这又是一个有缺陷的逻辑,通过阻止人们做什么 他们 想要,他们会神奇地做什么 你 想要。 人们添加了更多功能,因为它增加了Tiki对他们的价值,从而增加了他们对平台的承诺。 即使它奏效了:谁来决定这些功能现在是否足够好,这样我们就可以开始添加更多功能了? 理性的人对于某个功能是否足够好可能会有非常不同的看法。 这将是一场政治噩梦,并在社区中造成巨大的紧张局势。 因此,人们只需在自己的分叉上创建自己的功能,我们最终将成为一个超级分散的社区。 因此,再次强调,这不会发生,因为这将对社区造成巨大破坏。
目前,在有限的测试(例如Dogfooding)之外,没有“质量保证”团队或其他系统和一致的质量计划
提供重点和方向 Tiki当前的模型“资助功能”在理论上听起来很不错,但最终却将Tiki同时拉向了多个方向,导致了一个“墓地”上的未完成或无用的“功能” 我真的不这么认为。 Tiki被拉入了哪些相互矛盾的方向,这个未完成/童车功能的墓地在哪里? 我想说的是,由Tiki顾问的客户资助的功能可能是最简单的,因为它们是最近的工作,必须满足业务需求。 如果该功能在另一个Tiki实例中出现问题,可能是由于配置或上下文差异。 -
@迈克 :确实,一些由客户资助的功能最终并没有被他们使用,所以这有可能使该功能成为“孤儿”。 例如,赞助的客户 SAML公司 从未使用过。 .但是 这是一个非常小的比例。 赞助某项功能的客户通常会使用和资助工作来保持其正常工作。 在这种情况下,客户机不再在那里维护SAML集成。 这些功能(如SAML)位于Tiki的总体路线图上,因此如果它们足够受欢迎/重要,其他人就会加入进来。 我能想到的所有赞助功能要么是可选的,要么对所有人都有用。 所以,要么你受益,要么你没有激活,对你没有负面影响。 他们显然计划使用该功能,所以我们不知道哪些最终会成为“孤儿” 如果你列出一个“墓地”功能的列表,我会告诉你哪些功能得到了赞助(即使不是通过EvoluData,我也会知道谁赞助了什么),我们会让数据告诉我们。
-
@迈克 :那么谁来决定什么是被接受的,什么是不被接受的? 这又是一个潜在的社区管理困境。 这些功能仍将为客户完成,但不会贡献给Tiki。 所以我们将社区分割开来。
目标:不仅为Tiki的发展制定一个总体的、长期的路线图,而且制定短期和中期目标,如上所述,为发展非开发人员社区制定一个目标。 注:Jono Bacon的文章《救赎:我的社区管理职业错误(以及如何避免)》第5点: #5.功能建议Snaafu–许多社区都被让社区成员建议产品功能的想法所吸引。 但要小心:这可能会导致未满足的期望和难以解决的小城市规模问题的混乱。 哎哟,这个太糟了。 链接 这似乎不适用于Tiki,因为一般来说,虽然Tiki社区成员建议产品功能很好,但这些功能不太可能实现,除非这些社区成员是编码人员,或者能够说服编码人员自愿花时间,或者能够支付编码员实施它的费用。 在Tiki中,有一些先例删除了由于创建者离开项目而没有保留的功能。 -
@迈克 :一些社区成员可以设定他们想要的所有目标,并制定他们想要的全部计划。 见鬼,我总是这么做。 是因为现实吗? 只有有人真正做这项工作。这是一个双轨制。 因此,你需要回答的问题是:什么样的激励和商业模式可以持续地促成更多的合作者?
滚动发布定义
一个定期更新新功能的Tiki版本——3个月? 6个月? 还是这真的只是一个STS?
可以随时应用安全和错误修复
感谢您添加了“滚动发布”的定义J-M,我应该从这个开始(我会更改页面的标题)-无论如何,我的想法是只有一个Tiki版本+一个领先的Beta。 因此,一个主要版本可能是一个3个月更新周期的STS,领先的Beta可能是“滚动”。 没有其他旧版本,没有LTS——似乎没有足够的开发人员(但需要统计数据)
为什么不能做到这一点
在2021年1月的TRM上,我相信有人提到了Tiki无法控制的一些因素需要解决,比如php版本 我认为,如果我可以作为非服务器专家更改我的php版本,我想任何人都可以。 我认为这里唯一的问题是,应该显示信息、警告或指导,以便也可以进行所有外部更改。 这并不总是可用的。 或者可能存在滞后。 示例: 截至2021-05-13年,PHP 7.4和8.0在 https://www.softwarecollections.org/en/scls/?search=php -
show.tiki.org网站 原始的show服务器只能支持一个版本的PHP。 由于不同版本的Tiki需要不同版本的PHP,因此需要启动另一个服务器(Show2)
-
@迈克·芬科 :你能选择你的数据库版本吗? 我敢打赌不会。因此,如果我们增加数据库的最低要求,您将无法升级。 所以为了避免给社区带来痛苦,我们总是需要使用旧版本。 有了当前的模型,我们可以而且确实可以积极地增加需求并利用新功能。 如果社区成员不能升级,他们可以留在LTS。
在2021年1月的TRM上,我问“Slack”或“Salesforce”是如何做到只有一个版本的,我相信我被告知这是不可比的,因为它们是持续发布周期的SaaS 事实上,由于它们不可部署到任何服务器,因此无法直接进行比较。 这是一个托管服务,他们控制所有软件。 世界已经习惯了这些类型的模型,由于它们,最终用户习惯了频繁(和不规则)的界面更改,使得LTS过时 LTS并不是过时的,因为它对某些用例至关重要。 Red Hat的主要商业模式是围绕LTS。 大多数Tikis I主持人都使用LTS,因为它可以节省时间,并为项目提供更多稳定性。 如果你不喜欢它,就不要使用它,但LTS会一直存在。
我看不出这与6个月的滚动发布有什么不同(例如,每6个月发布一次新版本),如果有什么不同的话,那么像6个月这样的结构化发布周期是用户可以接受的,而且实际上更好,因为他们的GUI不会随机更改-这让我相信更短的3个月滚动发布周期会更好。