Before claiming we are in a Renaissance or that it is time for one, we should take the time to understand the meaning of the word and its historical significance outside the world of software development. Once knowing what a Renaissance means, we can see how it applies to the .NET community in its current incarnation and for its future.
The word Renaissance first appeared in old French as renaissance which translates to “rebirth” and derived from the Latin renasci, which means to “be born again.” 1
Before the Renaissance, culture revolved around religion. Art was in service to the religious institution of the time, which was Catholicism and Christianity.
The most salient feature of this new aesthetic (Byzantine) was its “abstract,” or anti-naturalistic character. If classical art was marked by the attempt to create representations that mimicked reality as closely as possible, Byzantine art seems to have abandoned this attempt in favor of a more symbolic approach.2
Byzantine art is two-dimensional and portrayed religious imagery such as angels, saints, and Christ in an anti-naturalistic fashion.
Between the 14th and 17th century the Renaissance started in Florence, Italy and spread across Europe. Historians observed masters of the arts rediscovering the classical works of Greek philosophers and Greek mythology. Artists were invigorated by Greek heroes, monsters, and stories. Also, the patronage of the Medicis, a highly influential and wealthy family, meant financial independence for the artists to explore the creative avenues of their thoughts. Finally, with the advent of Humanism, people allowed themselves to enjoy life rather than preparing for death as Greek philosophy emerged as a critical mode of thinking. The key to the Renaissance is a liberty to follow your imagination, as can be seen in the artwork of the time and the addition of the third dimension or perspective and the variation in the subject matter.
Like mentioned above, Renaissance means “rebirth.” In context with the .NET community, we have to ask ourselves what is being reborn? We’ve read a lot of posts saying we need a Renaissance in .NET but not exactly how it would look.
Some have argued that we need to revive the Alt.NET movement, but it is almost always impossible to go back once a paradigm shift has happened. The only correct possible path is forward. So knowing the path is straight ahead of us, what do we want to bring with us into our next shift?
Mimicking a new .NET Renaissance on its historical reference, I could imagine a few characteristics to be present:
We are living in a hedonistic time for your imagination. A constant firehose of ideas shooting from GitHub, Twitter, and other outlets is unrelenting. The creative process can be short for some or take a lifetime for others but it in ways it is always the same:
Imagination is not equivalent to being original, and I would argue being original is close to impossible. Being able to shift to a new paradigm takes vision, and the ability to see a future that others don’t see yet. A Renaissance requires imagination, and a new status quo can’t happen without it.
The future is built on the foundation of the past. Sometimes good ideas are lost to time or victim to the climate they were conceived in. To have a Renaissance, a rediscovery and championing of past philosophies seen through the lens of the present is needed. What ideas championed by the community have direct ties to the past?
Just to name a few ideas floating around the Twitterverse. I’m sure gems are hiding in our past if we choose to look there.
Patronage is an important aspect of any Renaissance. Someone or Something has to help nurture artists, or in our case, developers. Many projects in the .NET realm right now are passion projects, and the developers on those projects have limited resources. Having a champion patron may ease the burden for more developers and allow them to follow their imagination to new and exciting ideas.
We currently have the ever growing .NET Foundation to help projects, but we probably could use more patrons.
If something great is created but never consumed, was it ever great? I would argue no it wasn’t. The biggest problem facing creators in a Renaissance is getting their work noticed. The same holds true for .NET developers. It isn’t enough to put something on GitHub or NuGet and hope others find it. Artists of the Renaissance had cathedrals and squares to put their artwork in, to inspire the masses. The .NET community needs to understand better what its outlets are and how to gain mindshare.
Gaining users takes more than programming skills; it takes marketing and networking skills. Something that many developers struggle to do for themselves. Also a monoculture of just programmers means a lack of other necessary requirements to make a project attractive. Whether we like to admit it or not, other developers are swayed by the presentation of a project, not just the merits of its value to them. A cool logo, a name, a sticker, an excellent documentation site, a champion. All these factors go into gaining mindshare and few .NET projects have them.
It is arguable whether or not we are in a .NET Renaissance. In this post, I outlined what it may look if we were in one. There is more room for the .NET community to grow into it but like many paradigms, it is hard to know whether you are in one until you are into the next one. Others have also written what we need to do to spur a Renaissance.
In my opinion, a Renaissance would include Imagination, Rediscovery, Patronage, and Consumption. Some of those ideas are already in the .NET community. I won’t make the argument as to where these catalysts need to be derived from since that is a tricky subject. I will just assume it needs to be in the community as a whole, which includes developers and vendors. Patronage and consumption are problems for many other communities and not unique to the .NET community. So are we in a Renaissance? Do we really need one? Do we want one? Only time will tell.