Probably for some people this is obvious, but I just found out yesterday and I thought I should share it.
When you create a site column (or Field) as an installable feature you can specify a ‘DisplayName’ (the name that will be used to show the column via the webinterface) and a ‘Name’ which will be the technical name of the Field.
The webinterface does not seem to give you this possibility, somehow it seems you can only enter the displayname on the “Create new site column” page. However in reality it is both the ‘DisplayName’ and the technical name (or ‘Name’) that you specify on the moment of creation. Now here is a way how you can use the webinterface to create a sitecolumn that has different Display and Technical name:
Start by creating a new site column and give it the TECHNICAL column name. In this case I use “prefix_” as a prefix:
Now to check the internal column name (you can hover over the display name and in the url that appears the technical name of the column is shown):
No go back to the “Site columns” settings page and edit the site column that you have just created. Change the name into the DisplayName that you want the column to have:
Save the column and hover over the site column again. The internal technical name still has the prefix, and only the DisplayName of the column has changed!