Greenfield is a term from the construction industry that refers to undeveloped land. In the IT world, greenfield describes a software project that is developed from scratch rather than built from an existing program. It is often contrasted with "brownfield," which describes software built from an existing program.
Greenfield software development is generally more flexible than brownfield development since a new program does not need to fit a specific mold. For example, a greenfield word processor might provide a completely new user interface and may have features not available in any previous program. Additionally, greenfield software does not need to be backwards compatible with older versions of a program. There is no need to support legacy file formats or include previous features to meet end user expectations.
While greenfield projects are open ended, developing software from scratch involves inherent risk. For example, there may not be as large of a market for a program as the developer expects. The interface may not be well-received and may need to be altered or redesigned to be more user-friendly. It make take several updates before a greenfield application is successful in the marketplace. Of course, greenfield programs that succeed often benefit from being a unique option for users until similar applications are developed.
NOTE: The vast majority of software development is brownfield, since most major software releases are updates to existing programs. However, there has been a recent surge in greenfield development thanks to the new market of mobile apps.