I am trying to understand the goals of Java EE specification.
I suppose Sun could just build a software package offering all those functionalities? Kind of like Spring. Instead they thought it was better to build a specification and allow other vendors to implement it. Why did they think so and what exactly is achieved by this approach?
I am not asking why people need to create specifications before writing software. Those specifications are about understanding requirements and creating a plan. To me, Java EE specification seems to be different. It was created with the explicit goal to be implemented by other vendors.