#16#15 de acuerdo, sacan una versión en la que han invertido porrón de horas. Pasan un par de versiones y resulta que, como no devuelven el código, la rama abierta no incluye ninguna línea de esas modificaciones. La rama libre sigue por su camino y al final, los de la rama cerrada tienen que tragarse no sólo las modificaciones si no también el mantenimiento (no valen los parches de la comunidad) y la actualización de todo el código antiguo, al cual se le terminará no pudiendo añadir los parches abiertos por estar cada vez más separados.
La principal baza que le veo al software abierto es que evita la divergencia exagerada, ya que se comparte código siempre con los demás. Los forks no son tampoco demasiado diferentes del original, normalmente. Lo que hacen es modificar un código común y tener sus propias modificaciones. Si otro fork quiere, puede agregar código de esas modificaciones, haciendo que los forks se acerquen entre sí. Finalmente, si la cosa sale como toca, los forks terminan reunificándose, incluyendo las mejoras de cada rama.
La principal baza que le veo al software abierto es que evita la divergencia exagerada, ya que se comparte código siempre con los demás. Los forks no son tampoco demasiado diferentes del original, normalmente. Lo que hacen es modificar un código común y tener sus propias modificaciones. Si otro fork quiere, puede agregar código de esas modificaciones, haciendo que los forks se acerquen entre sí. Finalmente, si la cosa sale como toca, los forks terminan reunificándose, incluyendo las mejoras de cada rama.