The evolution of open-source software systems can be regarded as the process of self-organization. Most existing models for software network evolution are based on preferential attachment. However, our empirical studies on the attachment of new vertices show that preferential attachment is not completely suitable for the formation of software networks. In this paper, the attachment mechanism of new vertices is studied in a set of real-world software systems. Firstly, these software systems are treated as directed networks, then based on our empirical studies on the connecting direction between the new vertices and existing networks, a mechanism of symmetric preferential attachment in software network evolution is proposed. It is worth mentioning that the probabilities for a vertex to acquire new incoming and outgoing connections are proportional to its in-degree and out-degree, respectively. Furthermore, the probability density functions of in-degree and out-degree distributions deduced through theoretical computations show that symmetric preferential attachment can produce scale-free networks, and the value ranges of the given exponent expressions are proved to be in accordance with those of various real-world software networks. Finally, the relationship between the exponents of in-degree and out-degree distributions and existing code reuse in software design and development is revealed. This work could provide a different perspective to observe potential formation and integration of real-world software systems.