How to migrate to open source software

How to migrate to open source software

Subscribe now

Get the highlights in your inbox every week.

Difio is a Django based application that keeps track of packages and tells you when they change. It provides multiple change analytics so you can make an informed decision on when or what to upgrade. Difio was created as closed software, then I decided to migrate it to open source to allow for in-house deployments and attract a larger community around the project.

10 steps to migrate your closed software to open source

Simplify

Any application that has been around for a few years has accumulated code and features which are not in use anymore. Remove everything that can be safely deleted in order to get a cleaner and simpler code to share. Open sourcing Difio began with removing around 20% of the existing code base.

  • unused and obsolete settings
  • Django apps
  • static files and templates
  • model classes
  • legacy URLs
  • deprecated functionality
  • other Python utilities

For extra dependencies and one-off code, for example, I had used markdown in some templates and pure HTML in others. I had some custom template tags which were used only in one or two places. All of these were deleted and templates were made more consistent with each other.

Hard-coded paths, values, URLs, etc are inevitable when doing rapid prototyping. At some point a closed source application inherits the artifacts of its deployment environment and these need to be cleaned up. I have used custom template tags and settings where needed.

Create self-contained modules

In other words, reorganize the file structure which also increases simplicity and makes things feel a bit more natural. Making modules self-contained and independent makes it easier to separate them later.

Difio’s web backend is deployed on OpenShift, which used a different directory layout for templates and static files. I’ve had to move around the files and update Django’s settings in order for them to load properly. This also caused me to rethink the way origin static files were served to the CDN backend.

Separate internal from external

It is natural to have some internal code inside your apps to provide you with more information. For example, usage tracking and other metrics, billing, and so on. In the case of web-based services, these are usually integrated together with the core functionality and need to be separated.

This is also a good opportunity to decide what goes out and what not. For example, Difio doesn’t ship its test cases because they need more work to be cleanly separated from the CI environment and run both against the whole web service and against the stand-alone app.

Difio contains five separate modules:

  1. difio/ (the core user experience)
  2. a profile sub-system
  3. a billing module
  4. extended admin interface
  5. a deployment related module (mostly settings)

All of these were properly separated and isolated from each other, removing imports and internal dependencies. At present difio/ depends on a few profile APIs for which it provides sane defaults.
This step also helps you split operational artifacts (e.g. customized email templates) from the core user experience.

Code refactoring

It goes without saying that refactoring and testing should be a continuous effort. However, until now you have probably made a quick review of the entire existing source code (or most of it) and have noticed lots of things that needed improvement. Here’s the opportunity to do so.

This is also a good opportunity to create a short roadmap and preload your public issue tracker with bugs to fix. It will help your newly born project display activity and continuous improvement in the early days while new contributors are still missing.

With Difio, I refactored some methods, mostly internal ones, to make them fit the new application structure. The external methods were left to fix later because they would be nice to have, not need to have.

Legal work

Depending on the size and complexity of the software and your organization, migrating to open source can be quite time consuming. Everything from selecting a proper license, branding, naming individual authors, doing legal review, and potentially searching for patent infringement code—should be factored in this step.

Update and list external dependencies

As a software developer, you have to take the extra step to upgrade to the latest versions and make sure your software works properly with them (or at least reasonably well). Nobody would like to run your code with old dependencies and quite often that may not even be possible.

Also provide a dependency list (e.g. requirements.txt file) and let people know how to install them before running the software. Luckily, Difio being a Django based application had only minor issues upgrading and moderate number of external dependencies.

Provide documentation and examples

Documentation is a great plus to any newcomer to your project. After all you are opening up something with the hope of attracting a community. Having written docs and examples is a must.

For Difio, I wrote a README file with detailed settings because the application has multiple subsystems (messaging layer, cron scheduler, etc.) which can be configured in myriad of ways. The second document I created was a Content Administration Guide because not everything is automated and sometimes needs manual adjustments. These two files summarize the most important design and deployment features of Difio—but you may need to write more or other documents for your project.

Create a public code repository

The time will come to create a public code repository and push the software upstream.

For Difio, I decided to copy the entire difio/ directory out of its previous location and do a single initial commit. This has the disadvantage that all previous history is not available, but I’ve decided to go this way to avoid revealing secret keys and passwords which may have been hard-coded at some point in the code.

In production, the difio/ directory was replaced by a git submodule to allow for faster released/deployment cycles and mainly because my cloud environment uses git as the deployment mechanism.

From now on everything you do with the source should be done in public.

Test stand-alone deployments on a fresh environment

Until recently you have probably been working inside your existing local copy and inherited all the artifacts that come from the proprietary version of the application, like dependencies, environment configuration, and so on. Testing from the point of view of an external user on a fresh environment(s) will help you further refine your docs and clean up remaining issues.

While testing Difio, I found several missing or extra requirements, missing and inappropriate settings, few bugs, and incomplete documentation.

When done, start over and repeat again until every step is properly explained and works out of the box! This will ensure future contributors and users will at least be able to install your software.

Announce it

This is the last step! Write your press release and announce the new software to the world. Congratulations, you are now open source!

Over the past decade, I’ve served as CTO of three different Fortune 500 companies. In each of those companies, one of my primary responsibilities was to mitigate risks associated with technology. During the same period, open-source software has gained growing acceptance in the enterprise. Properly sourced, open-source software can bring so much to the table: lower cost solutions, high-quality software and all the other benefits that come from active and altruistic developer and user communities.

However, there is a long-established, risk-averse mindset within many large companies. Companies have established software procurement practices which depend upon an interaction and relationship with a vendor. This has slowed the adoption of open-source software which, similar to commercial software, still has to be adopted under certain guidelines.

A few short years ago, I worked with a company that had a “no open source” usage policy. Fast forward to today, where average Fortune 500 companies are using more than 100 open-source projects each. Some companies are more conservative than others, but I still see four basic phases of open source adoption in corporate America:

Phase No. 1: No awareness

There aren’t many of these companies left, and when you do find them, they tend to be smaller organizations. They don’t yet know what open-source software is used in their organization and they certainly haven’t developed any policies regarding it.

Phase No. 2: Denial and prevention

These companies often are risk-averse. They have yet to try to understand how open source works or do a risk-benefit analysis. They realize that open-source software could contain risks, so they ban it outright or put huge barriers in the way of developers who want to use open source.

Phase No. 3: Limited, safe usage

This is probably where most companies are today in the adoption of open source. Enterprises start by getting Linux from a large, trusted source such as IBM or another enterprise vendor. The vendor provides key services including indemnification and support.

Phase No. 4: Smart governance

The optimal phase of open-source software is where enterprises use open-source software in accordance with policies and architecture blueprints. In this phase, companies realize that they need to put the same processes and controls in place for open-source software as they have with proprietary software. These controls enable companies to gain the benefits of open source while mitigating risks.

As companies move towards “smart governance” of open source, they will need to address several gaps that exist between open-source software and the proprietary software they are used to. Luckily, there are now a wide variety of vendors that wrap open-source software with a set of offerings that help enterprises close these gaps.

Tips for Using Open-Source Software

Five tips for using open-source software

Over the past decade, I’ve come to see what makes open-source software thrive in an enterprise. Simply put, once enterprises put in place the same governance, policy and support processes around open-source software as they do with proprietary software, there is no limit to how much open-source software they can bring into their organization-or how much money they can save.

Here are five tips on how to close the gaps and allow open source to come into your organization in a way that maps to your corporate risk factors, making open-source software no more or less of a risk than proprietary software:

Tip No. 1: Service-level agreement (SLA) support

One of the greatest things about open-source software is that it is backed by an active and responsive community. However, like many CTOs and CIOs, I don’t like uncertainty and will pay to mitigate risk. When it comes to mission-critical software, you can’t guarantee that the community will provide support in the time period you require. Whether you download software or buy it from a commercial open source vendor, you need to have SLA support contracts. Support is available from several commercial open source vendors.

Tip No. 2: Indemnification

Lawsuits happen in the software industry, whether it’s proprietary or open-source software. Some legal actions you hear about, some you don’t. It is critical, especially if the software you are using is important to your business, that you have indemnification to protect you from legal actions that could preclude you from further use. Indemnification is available from many of the commercial open source vendors.

Tip No. 3: Open source licenses: compliance or violation

One of the key differences between proprietary and open-source software is the license used. Each organization has its own risk threshold that dictates which open source licenses it allows into its organization. Once you’ve decided that a particular open source license is allowed, you still must comply with the license. It’s important to have processes to ensure compliance with open source licenses-just as you would with proprietary licenses. Your legal department can guide you in understanding license obligations and ensuring compliance.

Tip No. 4: Procurement

In the early days of enterprise open source adoption, we were looking for open source projects that were bits of code we could embed into larger solutions. Today, we see open-source software transitioning into full-blown open source solutions. As the open source community continues to develop full-featured solutions, it becomes imperative to have a procurement process in place that ensures you are selecting software from mature and active communities. Just like you need to evaluate viability of a software vendor, you need to evaluate viability of a community or open source project.

Tip No. 5: Governance

Lastly, you need to develop and enforce a comprehensive governance program that tracks your open-source software from the cradle to the grave. What are your policies for allowing software into the organization? Who will approve it? How do you track when and where software is used? What are the conditions by which you will look to retire or replace the software? How can you assure that the use of the software conforms to your interoperability requirements? You can build your own processes and tools, or there are several vendors that provide open source governance or management platforms to automate this process.

Carol J. Rizzo is a technology consultant with more than 25 years of health care and financial industry experience, having served as CTO of Kaiser Permanente, AIG and CitiGroup. Currently, Carol is consulting software companies in the health care, financial and media industries. She has managed a variety of technology functions including infrastructure operations, engineering, interactive software development, product development and telecommunications. She can be reached at [email protected] .

A proposal to switch the German city’s workstations to open source software was denied by the state’s parliament

The German city-state of Berlin won’t migrate to open source software. Instead, its parliament decided in principle to choose workplace IT based on open standards.

Berlin’s Green party had proposed to have 25 percent of its standardized IT workplaces running open source software by 2018, according to the proposal that was voted down by the state parliament on Monday.

[ Learn how to install Apache on Linux in InfoWorld Test Center’s step-by-step guide. | Track the latest trends in open source with InfoWorld’s Open Sources blog and Technology: Open Source newsletter. ]

It is the second time the opposition Greens had proposed switching Berlin’s 68,000 workstations to open source software, and the second time they failed, said Thomas Birk, the party’s spokesman for government modernization, on Wednesday. The earlier effort was in 2007.

Switching to open source can work, said Birk. By switching over 80 percent of its 15,500 desktops from Windows to its own Linux distribution, LiMux, and OpenOffice.org software, the city of Munich said it had saved over €11 million ($14.6 million) by November last year.

“Munich’s example proves it is not witchcraft,” to switch to open source, said Birk.

Not every migration works though. The city of Freiburg announced in November it would dump OpenOffice and go back to Microsoft because of functionality problems due to a failed migration.

While Birk maintained that with good preparation it can be done, the state’s governing coalition of the Social Democratic Party of Germany (SPD) and the Christian Democratic Union of Germany (CDU) decided not to accept the proposal.

Instead, the SPD and CDU introduced a plan to come up with guidelines for a standardized IT workstation for the state of Berlin that “in principle” is based on open standards, according to the proposal that was adopted on Monday. Those guidelines should “ensure a smooth exchange of documents between different platforms at any time,” the parties wrote.

The coalition also wants to explore whether the use of a government cloud could reduce licensing costs, according to the document.

Berlin wants to reduce costs and the variety of different IT systems currently used by the government and solve the problem of “island solutions,” according to the document. The standardized IT workstation should therefore not only include the same hardware, but also have an identical set of basic applications such as office communication programs, the coalition wrote.

While the proposed IT workstation should ensure the use of open standards and open source software, it was not specified in what way that should be done, due to procurement law that prevents buyers from specifying particular products in advance.

A motion from the Greens to change the IT workstation proposal to make the use of open standards mandatory was also denied, said Birk.

Eclipse tooling supported via the WTP project and will be included as part of Helios.

JAX-WS/JSR-181 Annotation Support

Ported and CXF passes the JAX-WS/JWS TCKs.

Ported – Supports fully streaming attachments now.

Spring 2 XML will be supported for easy configuration. See the Configuration section.

See the ClientProxyFactoryBean and JaxWsProxyFactoryBean.

Not ported as the *ServerFactoryBeans already enable this functionality. See below.

Completed. See ServerFactoryBean and JaxWsServerFactoryBean.

CXF has much better WS-Addressing support and its easier to use as well.

For more details on how to migrate:

  • Are you using the ObjectServiceFactory, AnnotationServiceFactory, or JAXWSServiceFactory? Go->
  • Are you using services.xml? Go->
  • Are you using the XFireServlet? Go->
  • Are you using the Spring ServiceBean? Go->
  • Are you using the Spring XFireExporter? Go->

XFire users should consider migrating to CXF. Anyone looking to start a new web services project should seriously consider CXF. The main barrier is liable to be documentation at this moment. We will be adding LOTS more documentation though over the next couple weeks as we move toward the 2.0 final release.

CXF includes many new features for XFire users:

  • Improved WSDL support
  • Improved JAX-WS support
  • Improved JMS transport
  • Maven plugins
  • Spring 2.0 syntax support
  • Improved WS-* support
  • Cleaned up APIs for building services
  • Easier to use extension points
  • RESTful services support
  • Support for a “bare” XML binding, which doesn’t include a SOAP envelope

Who should not migrate

There a couple small areas where we haven’t replicated all of the XFire functionality yet. Namely the JiBX databinding. The only other reason not to migrate to CXF that we see is a requirement for Java 1.4.

XFire included serveral service factories for building services. CXF also includes service factories, but the concept has been improved somewhat to make them easier to use. CXF now includes the concept of ServerFactoryBeans which produce Servers, ClientFactoryBeans which produce Clients, and ClientProxyFactoryBeans which produce Client proxies.

CXF now includes the following classes:

  • ServerFactoryBean – This creates a server endpoint from a class
  • ClientProxyFactoryBean – this creates a client proxy from a class
  • JaxWsServerFactoryBean – This creates a JAX-WS server endpoint from a class or WSDL
  • JaxWsProxyFactoryBean – this creates a JAX-WS client proxy from a class

Its important to keep in mind a few differences in how CXF works compared to XFire:

  • CXF uses a bean factory approach. This means that there is one (Server/ClientProxy)FactoryBean per endpoint. In XFire these beans could be reused.
  • CXF requires that you specify the endpoint address, unless it finds it in your WSDL. If you’re using HTTP this has some nice benefits.
    • If you haven’t set up the Servlet transport, it will automatically start an embedded Jetty instance for you. In XFire this required you to use the XFireHttpServer class, resulting in additional work.
    • This allows you to map services to different URLs easier. In XFire the way URLs were mapped to Services was much more static.
  • When you specify an endpoint address for your service, it’s important to remember that when you’re using the sServlet you don’t need to specify the host name. Lets say you set up the CXFServlet to listen on “http://localhost/services”. If you specify your endpoint address as “/myservice” then all requests that come to “http://localhost/services/myservice” will go to your service.
  • JAXB is now the default databinding. Any time you want to use Aegis, you must explicitly say so.

Example ObjectServiceFactory Migration

Here is an example of using the ObjectServiceFactory in XFire:

(Central Management Console)

EaseUS Todo PCTrans Free

Migrate Everything to New Windows 11

  • Free PC transfer software moves data, applications, and accounts between computers.
  • Migrate all the old PC files to your new Windows 10 PC.
  • Windows 11/10/8/7.
  • Recover programs and files from a dead computer.

Move your stuff and get started with your new PC

If you’ve been using your PC for a few years, you probably have some files that you want to move to the new PC. EaseUS Todo PCTrans Free is a smart solution to transfer data and programs without reinstalling.

Move everything securely: This free tool allows you to transfer applications, files, settings, and even user profiles from an old PC to a new one. It supports the most common applications/programs, including MS Office (Word, Excel, Outlook, etc.), Photoshop, Adobe software, AutoCAD, Dropbox.

Quickly and automatically: When you start up with your new PC, all your programs are installed and ready to use. It provides you the simplest ways to get your new computer loaded.

How to migrate to open source software

Exclusive Features You don’t want to Lose

The only tool that removes your hassles and improves your efficiency to transfer data.

How to migrate to open source software How to migrate to open source software How to migrate to open source softwareHow to migrate to open source software

Three Transfer Modes Available

Choose a suitable transfer way and move to a new PC quickly

How to migrate to open source software

Transfer via Network Connection

Connect two computers on the same LAN and transfer files, apps with account settings through the network.

How to migrate to open source software

Migrate your applications among local disks of the same computer.

How to migrate to open source software

Transfer via Image Files

Create images of your files, programs & account, and automatically export them from the source PC to the target PC.

Data Rescue-Recover Your Data and Accounts from Dead Computer

When your desktop or laptop refuses to start, that means either the hardware or the software is having trouble. Fortunately, even if it’s not backed up in the cloud, a broken laptop doesn’t mean losing all your data. EaseUS Todo PCTrans Pro can transfer your files, programs and settings from your broken computer to a new one with quick steps.

How to migrate to open source software

Recover data from a dead or non-bootable PC

Whether you face a hardware failure or fail to start your computer, take a breath, you still have a great possibility of retrieving your data with EaseUS Todo PCTrans.

Quickly Migrate programs and settings to a New PC

Unlike other data recovery tools, EaseUS Todo PCTrans can not only restore your files and program. What’s better, it can perfectly migrate all your settings to a new PC. It can quickly solve your problem of reinstalling programs.

Simple and Convenient

No require a lot of technical knowledge. Users can safely and successfully recover data from dead computers with simple clicks according to our detailed guidance.

Editions Comparison

  • Transfer 500MB data
  • Transfer 2 programs
  • Transfer data from one pc to another
  • Transfer data between local disks
  • Transfer unlimited data/programs
  • Transfer user’s accounts
  • One license for 2 PCs
  • Transfer programs from one PC to another
  • Transfer programs between local disks
  • Scan and export programs keys
  • Data Rescue-Recover data from dead computers
  • Free technical support

How to migrate to open source software

What’s New in Version

  • New function: App Management
  • SupportedВ SQLВ Server,В MySQL,В Oracle,В Quicken,В etc.
  • SupportedВ quickВ selectionВ ofВ migrationВ partitionВ inВ “AppВ Migration”
  • SupportedВ personalВ fileВ migrationВ inВ userВ folderВ andВ largeВ fileВ migration View Version History

How to migrate to open source software

How to Use EaseUS Todo PCTrans

Offer you a straightforward guide on how to transfer data, applications, and account via a network connection

  • How to migrate to open source software
  • How to migrate to open source software
  • How to migrate to open source software

Editors Reviews

EaseUS Todo PCTrans Free is a useful and and reliable software solution created to serve in computer migration operations, be it from one machine to another or from an earlier version of your OS to a newer one. Read More

– By Softpedia staff

EaseUS Todo PCTrans is by the folks at EaseUS who make incredible tools that let you manage your backups and recover your dead hard disks. While it is not an official tool, EaseUS has a reputation for being very good with their software and code. Read More

– By Windowsreport Advisor staff

It offers the ability to move your entire user account from your old computer, meaning everything is quickly migrated. You still get to keep your Windows installation (and the relevant drivers for your new PC), but you also get all your apps, settings, preferences, images, documents and other important data. Read More

Disadvantages of open source software

Open source software may benefit many businesses. However, it can also pose several significant challenges – from unexpected costs and steep learning curve to complex compatibility issues.

The main disadvantages of open source software relate to:

1. The difficulty of use – Some open source applications may be tricky to set up and use. Others may lack user-friendly interfaces or features that your staff may be familiar with. This can affect productivity and prevent your staff from adopting or using programs with ease.

2. Compatibility issues – Many types of proprietary hardware need specialised drivers to run open source programs, which are often only available from the equipment manufacturer. This can potentially add to the cost of your project. Even if an open source driver exists, it may not work with your software as well as the proprietary driver.

4. Hidden costs – Software that is free up-front but later costs money to run can be a major burden, especially if you haven’t considered hidden costs from the outset.

Open source software costs

When you’re considering using free or open source software, it is important to think through the potential costs involved in:

  • Setting up – eg you may need new hardware to use the software.
  • Installation – eg you may need to pay someone to install and configure the system for you.
  • Training – eg your staff may not be familiar with some or all of the features of the software and may need some support and training.
  • Importing data – eg if you are replacing an existing system, you will likely have to migrate, extract or reload your data.
  • Integrating with existing systems – eg your payroll software, customer databases, etc.
  • Customising the software – eg you may need to modify some or all of it to meet your specific needs. This will likely require time and effort.
  • Maintenance – costs may accrue with the need to update the software, apply patches, test and deploy new versions.
  • Support – most free software comes without a support package. You will likely need to find and pay for third-party support services.

Costs considerations are just as true for proprietary software as they are for open source. You should take time to assess the total cost of ownership for any software you intend to use.

It is also very important to weigh up any disadvantages against the possible advantages of open source software.

Remember that open source doesn’t have to be all or nothing. There is no reason why you couldn’t run a proprietary operating system in your business and use open source software alongside it. Find examples of popular open source products and types.

As a free PC moverВ for Windows 11/10/8/7/Vista/XP, EaseUS Todo PCTrans Free can easily transferВ data, programs, user account, along with their settings to new computer. It offers three transfer modes to transfer files and programs from one computer to another.

  • Transfer via network:В You can transfer everything from old computer to new computer using WiFi connection, including installed programs, files like music, documents, videos, photos, and user settings.
  • Move applications locally: You can migrate programs from one drive/disk to another for different reasons. For example, move games from HDD to SSD to get aВ better game experience.
  • PC transfer without internet:В If your network connection is not stable, try to create a backup file of a program and transfer it to another computer with a USB or external storage device.

Support Windows 11/10/8/7

How to Transfer ProgramsВ to New Computer Free on Windows 10В

EaseUS Todo PCTransfer allows you to transfer copy installedВ to a new computer onВ Windows 10 with or without internet. Here, we will show you how to transfer programs from one computer to another with WiFi.В

To migrate software from one computer to another without network, like transfer Microsoft Office to another computer with a USB, check the detailed guide.В

Step 1. Run EaseUS Todo PCTrans on both PCs

On the source PC, select “PC to PC” on the main screen of EaseUS Todo PCTrans and move on.

How to migrate to open source software

Step 2.В Connect two computers

1. Select your target PC to connect via its IP address or device name and click “Connect”.

2. Enter the login password of your target PC and click “OK” to confirm.

If you didn’t see the target PC in the listed devices, you can also click “Add PC” to manually connect the target PC by inputting its IP address or device name.

How to migrate to open source software

3. Set the transfer direction – “Transfer from this PC to other PC” and click “OK” to continue.

Step 3. Select apps, programs, and software and transfer to the target computer

1. Click “Edit” on the application section, then you can open up the application list.

Then you can select and choose what you want to transfer from the current computer to the target PC.

How to migrate to open source software

2. After selecting desired applications and programs, click “Finish” to confirm.

At last, click “Transfer” to start the transferring process.В

How to migrate to open source software

Move Data from One Computer to Another withВ Free PC Mover

This part displays how to transfer data from one computer to another with EaseUS PC data transfer software. Follow the steps below to move files to a new PC or laptop.В

Support Windows 11/10/8/7

Step 1. Run EaseUS Todo PCTrans on both PCs

On the source PC, select “PC to PC” on the main screen of EaseUS Todo PCTrans and move on.

How to migrate to open source software

Step 2.В Connect two computers

1. Select your target PC to connect via its IP address or device name and click “Connect”.

2. Enter the login password of your target PC and click “OK” to confirm.

If you didn’t see the target PC in the listed devices, you can also click “Add PC” to manually connect the target PC by inputting its IP address or device name.

How to migrate to open source software

3. Set the transfer direction – “Transfer from this PC to other PC” and click “OK” to continue.

Step 3. Select apps, programs, and software and transfer to the target computer

1. Click “Edit” on the application section, then you can open up the application list.

Then you can select and choose what you want to transfer from the current computer to the target PC.

How to migrate to open source software

2. After selecting desired applications and programs, click “Finish” to confirm.

At last, click “Transfer” to start the transferring process.В

How to migrate to open source software

EaseUS Todo PCTrans – A Free and Reliable PC Mover

EaseUS free PC data transfer tool moves data, applications, and accounts between computers. If you want to replace your old computer, you can apply this software to get started with your new PC in a few clicks.В EaseUS Todo PCTrans offers comprehensive solutions to transfer data and programs to new computer without reinstalling.

Use Migration Assistant to copy all of your documents, apps, user accounts, and settings to a new Mac from another computer.

How to migrate to open source software

Migration Assistant copies all of your files from your old Mac to your new Mac so that you don’t have to copy them manually.

  • If your files are currently on a PC, follow the PC migration steps instead.
  • If you’re moving content from a Time Machine backup, follow the steps to restore your Mac from a backup instead.

Get ready

  1. Install all available software updates on both computers. If your old Mac isn’t using OS X Lion or later, and your new Mac isn’t using OS X Mavericks or later, follow the Mountain Lion migration steps instead.
  2. If both computers are using macOS Sierra or later, place them near each other with Wi-Fi turned on. If either one is using OS X El Capitan or earlier, make sure that both are on the same network.
  3. On your old Mac, choose Apple menu  > System Preferences, then click Sharing. Make sure that a name appears in the Computer Name field.

Use Migration Assistant

You’re now ready to use Migration Assistant to move your files from the old Mac to the new one.

On your new Mac

  1. Open Migration Assistant, which is in the Utilities folder of your Applications folder. Then click Continue.
  2. When asked how you want to transfer your information, select the option to transfer from a Mac, Time Machine backup, or startup disk. Then click Continue.
    How to migrate to open source software

On your old Mac

  1. Open Migration Assistant, then click Continue.
  2. When asked how you want to transfer your information, select the option to transfer to another Mac. Then click Continue.

On your new Mac

When asked to select a Mac, Time Machine backup, or other startup disk, select the other Mac. Then click Continue.

How to migrate to open source software

On your old Mac

If you see a security code, make sure that it’s the same code shown on your new Mac. Then click Continue.