Разнообразие программного обеспечения: схемы и классификации