Differences between CTP, Alpha, Beta, Gamma, RTM and Preview for Software Release? - release-cycle

It is quite intuitive that at least Gamma comes after Beta and Alpha.
But how about CTP, RTM and Preview releases? Which one comes first and last?
MEF (Managed Extensibility Framework) is currently on Preview 5 release, but I am not sure if it is a release before Alpha or after Beta, CTP or RTM. Is it OK to use preview releases in production code?
What are the differences between those releases?
I am particularly interested in knowing differences between
RTM
CTP
Beta
RC
Preview
releases.
It seems like everywhere each releases mean different things.

I've most commonly seen those terms used in the following ways
CTP (Community Technology Preview): Very much like "Show and Tell". Features are present to varying degrees and customer can get an idea of where the release is going
Beta: Features are mostly implemented but still have rough edges. Quality is fair at this point. The higher number beta, the higher the quality
RC (Release Candidate): Product believes it's ready to ship. One last chance for customers to provide feedback and find major blocking issues
RTM (Release to Manufacturing): Product is complete and ready to be shipped to customers

The stages are typically Alpha, Beta (can be broken into Internal vs. External), Release Candidate (RC), Release to Manufacturing (RTM). "Community Technology Preview" (CTP) or just plain "Preview" are, in my opinion, merely euphemisms for Beta (which implies "contains plenty of bugs").

It can vary from company to company. They are usually defined like this:
CTP - Community Technology Preview - Not beta quality, not as wide-spread. Not necessarily feature-complete. Usually intended for partners who will build on top of the product.
Preview - Usually like a CTP.
Beta - Widespread release. Expected to be mostly stable, feature complete.
RTM - Release to manufacturing. Final release of the product, the "Gold" release.
As for using previews in production code, it depends again, but is usually a bad idea. They are usually not that well supported.

The answer is "It depends".
All of these badges mean different things for different people, and things like "CTP" and "Preview" even more so.
Where relevant (e.g. frameworks) most preview/beta/ctp releases will come with information about whether they should be used in shipping code or not. Generally if they require an end-used redistributable the answer is no.

Related

Has the FHIR v5.0 specification been released?

I am trying to find the FHIR 5.0 specifications and saw that some people seem to be using the FHIR v5.0 server already. According to the official FHIR blog, the specification was supposed to be released in the 3rd quarter of this year (of course COVID could have slowed this down). Could someone point me in the right direction please?
5.0 is in development and is scheduled to start balloting in May 2021. It's not likely to publish as a final 'official' release until Q2 2022. However, there's a "continuous integration build" that shows what the current proposed content for R5 is hosted here: http://build.fhir.org. As well, we produce snapshots of the draft R5 release for connectathons and other purposes so that there's a semi-stable release people can write code against when testing for connectathon.
The current timeline has indeed been impacted by COVID, but it's also been impacted by the appetite of the community for a new release and the ever increasing amount of work involved in producing a new release.

List of changes to Firefox extension requirements?

As you know Firefox extensions can get broken when newer versions of FF are released, i.e. Firefox makes changes to extension requirements.
Is there a list/resource/forum board etc, that describes what these changes are?
Especially since many of the "getting started" tutorials were written along time ago. now it is hard to know which requirements have changed and which are still the same.
Each significant update is listed in the release notes for developers at https://developer.mozilla.org/en-US/Firefox/Releases. This includes information for web and add-on developers.
The best way to stay up-to-date is to follow the blog at https://blog.mozilla.org/addons/, which frequently publishes about changes affecting Add-on compatibility, AMO statistics and so on.

Upgrading from Web API RC to Web API RTM

I have seen that yesterday Web API RTM has been released by Microsoft.
However I can't seem to find any log about what has changed from RC to RTM and any tips on what has changed.
We have a service that's ready for production next week, and I am not sure whether to roll with RC or upgrade to RTM this late in the project. What value does it add?
Thanks
Ubal
The official release notes can be found here at www.asp.net.
As #Aliostad kindly mentioned, I wrote an overview post highlighting what's changing and including some code samples and other references.
Henrik also wrote a nice overview post - and that one's also focused on the preview for the out-of-band functionalities available as NuGet packages (OData, tracing, Help page, and a formatting library for Win8).
If you ask whether you should upgrade - obviously yes. There aren't many breaking changes so it should be rather painless, and you get a mature, production-deployable product. It's well worth it imho.

Can I use Telerik Metro Controls Beta in a production app?

So far they're the only people I can find that are doing a chart control...
What happens when the beta expires? How does it expire? (Does it expire?). They look great but there is no pricing information or expiry information.
Here is a direct quote from the EULA:
“You may distribute the Programs as embedded in Your Integrated Products to Your end-users only pursuant to an end-user license that meets the requirements of this Section.”
So, yes, you can ship Apps built with Telerik Windows 8 Controls Beta to the Store.
"Beta," by definition, suggests not ready for production use.
There are at least a couple of things you should think about before moving forward:
Does the license agreement for the controls allow use in a production app (you did read the license, right?)
Are you willing to risk the possibility that the app might suddenly stop working for any and all users who have downloaded it, until such time as you replace the controls with working versions (and get the updated version of your app submitted to the store)?
As long as the controls fit the Windows 8 app design, and don't cause performance or crashing issues, they may not have any impact on whether or not the app gets through certification.
But the larger issue is one of risk. Betas are for testing. IMO, unless the beta includes a "go-live" license, you should probably stick with using beta software for evaluation and testing only.
To be clear, that's no knock on Telerik's beta quality (or anyone else's, for that matter). Just a reminder that beta software isn't finished yet.

WinForms, WPF, Silverlight, Asp .NET, MVC, ... What to choose?

I've been programming for over 15 years and started with .NET 5 years ago. We built our framework for windows data-oriented apps and it is a quite stable.
At this point, we are considering to make a new platform. But, I am a little bit confused with all these new technologies. We considered CAB and SmartClient technologies but there are also WPF, WinForms and Silverlight options in there.
It sounds like you just need a quick overview of the technologies you have outlined there.
WPF: Windows Presentation Foundation - a new graphical rendering system for building interfaces based on the XAML markup language.
WinForms: Windows Forms Applications - Visual Studio's classical drag-drop GUI.
Silverlight: a Web Application framework - usually used with WPF, very similar features
ASP.NET & MVC: ASP.NET is the web application framework used in conjunction with C# and VB.NET used and MVC stands for Model-View-Controller - a design pattern that has actually been around for ~30 years
Without knowing the true intricacies of your framework, what you need it to do, what limitations you have - I can't say X would be better than Y - especially seeing as WinForms and WPF is used for desktop applications, and Silverlight, ASP is used for web applications - unless you're thinking of linking these in with each other? You haven't given enough information in your question.
However, the best for investing in the following 5 years? The most recent and still in development technologies are WPF, Silverlight and the ASP.NET MVC - but nobody has a crystal ball to say whether these will still be alive, kicking, and technologically advanced in 5 years time.
We built our framework for windows data-oriented apps and it is a quite stable. At this point, we are considering to make a new platform.
For your specs, all choices might be very good :)
I know that, but what you think is the best for investing in the following, let's say, 5+ years?
If you have a choice ( meaning if you are just displaying data without all the fanciful animation, movie and game like stuff), use ASP.NET MVC.
I always advocate web applications over desktop ones, because web apps are hosted in a single place, and so they won't produce upgrade nightmare.
In terms of which one has the brightest future, well, none of us have crystal ball and we don't know what Microsoft will throw at us in a few years time. But you should orient your apps around your business, not around fashion. If you really ask me out of the so many, which one will still remain standing 5 years later, I would say ASP.NET MVC, because ASP.NET is a mature technology, and MVC is a tried-and-true design pattern that has been used by open source and non-MIcrosoft companies. The fact that it is widely accepted makes it less likely to fade out of fashion.
If you want to continue with creating desktop applications, then your two major choices are WinForms or WPF. WPF is the "hot" technology right now, but there are a few things to consider before choosing it.
WPF requires .Net 3.5 (maybe it's 3.0, but whatever). This is significant because many corporate customers are still using .Net 2.0, and may not authorize upgrading to 3.5 for some time (my former company still has some clients that haven't authorized moving from .Net 1.1 to 2.0 yet). Also, the installer for .Net 2.0 is 23 MB while the installer for .Net 3.5 is close to 200 MB, and the 3.5 installer appears to be buggy, failing occasionally with a helpful "SETUP Error" message.
Developing with WPF requires Visual Studio 2008. If you're currently using an older version, you'll have to upgrade.
This isn't completely true, but for the most part what WPF brings to the table is a much snazzier user interface. In my experience, corporate customers who are paying big bucks for custom software do not care in the slightest how the application looks - they only care that it functions well and that it ultimately saves them money.
Finally, if you already have experience developing desktop applications for Windows, then you will feel right at home going the WinForms route. Also, because of the Mono project, a WinForms app can (theoretically) work on other platforms like Mac, Linux and the iPhone, whereas this is not yet possible for WPF (I might be wrong about this, and I will happily correct myself if someone points it out).
I'm actually sort of torn about this advice, because I think WPF is very cool and powerful, and it may take off and become the only viable way of developing for Windows very soon. It is a risk, however.
Thank you all for answers !
We tested all platforms and we have at least one project finished using MVC, WPF, Silverlight, WinForms...
The main problem with WPF and Silverligth is missing of native ReportVIewer controls since we have a lot of reports (RDL) created.
Personally, I think also that MVC is best structured framework.
I really have positive thinking of MONO. But, I would rather decrease the price of the project so the clients can buy WINDOWS but to handle bugs in Mono-Linux option.
We decided to follow the Microsoft way.
I'm thinking of some kind hibrid framework (Webservice - SQL SERVER- ADO .NET Entity Framework) to be on hosted on server and hibrid CAB-SMARTCLIENT to be usen on clients.
I really miss the times where only one tool and technology was available like Levi's 501 :)

Resources