How to make an upgrade, e.g. Metropolis, Casper etc, at Ethereum? I mean, if someone proposes an upgrade to Ethereum network, how can it be made concrete?
You have to program the code to that will upgrade the client software. This code will start from some block number, say 6,000,000 . Everybody gets ready for this date and buys some champagne to celebrate. When this block is created the
fork happens, and the clients of the entire network start working a little bit differently, this difference is described in EIP (Ethereum Improvement Proposal). If you want to change something, create an EIP and submit it.
An Ethereum Improvement Proposal is submitted to:
The developers of the primary Ethereum clients discuss the EIPs in open meetings to agree on what they will implement. The meetings are largely technical and occasionally there is an opportunity for community members to present an opinion:
The developers also agree on when the upgrade will take effect, as @Nulik describes. The block number that activates the upgrade will be communicated to the community, and people should update their nodes/clients.