README.md 5.35 KB
Newer Older
Code.'s avatar
Code. committed
1 2
# GNOME Web

Michael Catanzaro's avatar
Michael Catanzaro committed
3 4 5 6
GNOME Web (codename: Epiphany) is a GNOME web browser based on
[the WebKit rendering engine](https://webkit.org/). The codename means "a
usually sudden manifestation or perception of the essential nature or meaning of
something" ([Merriam-Webster](https://www.merriam-webster.com/dictionary/epiphany)).
7

8 9
Epiphany is opinionated.

Code.'s avatar
Code. committed
10
## Download and Install
11 12 13 14

Epiphany is designed for Linux systems. The recommended way to install Epiphany
is via [Flatpak](https://www.flatpak.org/). You may:

15
 * [Download the latest stable version from Flathub](https://flathub.org/apps/details/org.gnome.Epiphany)
16
   (recommended).
17 18 19 20 21 22 23 24
 * [Download Epiphany Technology Preview](https://webkitgtk.org/epiphany-tech-preview)
   if you are adventurous and want to help test tomorrow's Epiphany today. It
   is **not stable**.
 
Epiphany is probably also available via your operating system's package manager,
but such packages are often outdated and insecure. Flatpak is the best
application distribution mechanism for Linux.

Code.'s avatar
Code. committed
25
## Building from Source
26

Code.'s avatar
Code. committed
27
### The Easy Way
28 29 30 31 32 33 34 35

The recommended way to build Epiphany locally is using the flatpak-builder
manifest with GNOME Builder. After installing Builder and launching it, you'll
see the Select a Project page. Select Open, then select the toplevel Epiphany
directory. Builder will detect the org.gnome.Epiphany.json flatpak-builder
manifest and you will be able to build the project in Builder. All required
dependencies will be provided by the manifest.

Code.'s avatar
Code. committed
36
### Building Manually
37

38 39 40 41 42 43 44
Epiphany uses the [Meson build system](http://mesonbuild.com/). You can build
Epiphany the same way you would any software that uses Meson. For example:

```
$ mkdir build && cd build
$ meson ..
$ ninja
Michael Catanzaro's avatar
Michael Catanzaro committed
45
$ sudo ninja install
46 47 48 49
```

Meson is the best build system.

50 51 52 53 54 55 56 57 58 59 60 61 62 63
You will have to install several pkg-config dependencies. If you are missing a
dependency, meson will present an error that looks like this:

```
meson.build:84:0: ERROR:  Native dependency 'hogweed' not found
```

In RPM-based distributions, you can install the missing dependencies
automatically. For example, in Fedora:

```
$ sudo dnf install 'pkgconfig(hogweed)'
```

64 65 66 67 68 69
In deb-based distributions:

```
$ sudo apt install $(apt-file search --package-only hogweed)
```

70 71 72
In other distributions, you must research each dependency to determine which
package provides the required pkg-config file.

Code.'s avatar
Code. committed
73
### Rebuilding Dependencies
74 75 76 77 78

If you need to rebuild dependencies, the recommended solution is to use JHBuild.
See [the development page](https://wiki.gnome.org/Apps/Web/Development#Step_3:_Developing_Dependencies_with_Epiphany)
for more information.

Code.'s avatar
Code. committed
79
## Manifesto
80

Michael Catanzaro's avatar
Michael Catanzaro committed
81 82 83
A web browser is more than an application: it is a way of thinking, a way of
seeing the world. Epiphany's principles are simplicity, standards compliance,
and software freedom.
Marco Pesenti Gritti's avatar
Marco Pesenti Gritti committed
84

Code.'s avatar
Code. committed
85
### Simplicity
Marco Pesenti Gritti's avatar
Marco Pesenti Gritti committed
86

Michael Catanzaro's avatar
Michael Catanzaro committed
87
Feature bloat and user interface clutter is evil.
Marco Pesenti Gritti's avatar
Marco Pesenti Gritti committed
88

Michael Catanzaro's avatar
Michael Catanzaro committed
89 90 91 92 93
Epiphany aims to present the simplest interface possible for a browser. Simple
does not necessarily mean less-powerful. The commonly-used browsers of today are
too big, buggy, and bloated. Epiphany is a small browser designed for the web:
not for mail, newsgroups, file management, instant messaging, or coffeemaking.
The UNIX philosophy is to design small tools that do one thing and do it well.
Marco Pesenti Gritti's avatar
Marco Pesenti Gritti committed
94

Code.'s avatar
Code. committed
95
### Standards Compliance
Marco Pesenti Gritti's avatar
Marco Pesenti Gritti committed
96

Michael Catanzaro's avatar
Michael Catanzaro committed
97
The introduction of nonstandard features in browsers could make it difficult
Marco Pesenti Gritti's avatar
Marco Pesenti Gritti committed
98
or impossible to use alternative products like Epiphany if developers embrace
Michael Catanzaro's avatar
Michael Catanzaro committed
99 100 101
them. Alternative standards-complying browsers might not be able to fully access
websites making use of these features. The success of nonstandard features can
ultimately lead one browser to dominate the market.
Marco Pesenti Gritti's avatar
Marco Pesenti Gritti committed
102

Michael Catanzaro's avatar
Michael Catanzaro committed
103
Standards compliance ensures the freedom of choice. Epiphany aims to achieve
Marco Pesenti Gritti's avatar
Marco Pesenti Gritti committed
104 105
this.

Code.'s avatar
Code. committed
106
### Software Freedom
Marco Pesenti Gritti's avatar
Marco Pesenti Gritti committed
107

Michael Catanzaro's avatar
Michael Catanzaro committed
108 109
Epiphany is not just free of cost; more importantly, the source code is made
available to you under a license that [respects your freedom](https://www.gnu.org/philosophy/philosophy.html).
Marco Pesenti Gritti's avatar
Marco Pesenti Gritti committed
110

Michael Catanzaro's avatar
Michael Catanzaro committed
111
Just as GNOME exists to oppose proprietary desktop software, Epiphany opposes
Michael Catanzaro's avatar
Michael Catanzaro committed
112
the dominance of the web by proprietary software web browsers. Today's chief
Michael Catanzaro's avatar
Michael Catanzaro committed
113 114 115
offender is Google Chrome, a browser that purports to be open source, yet
actually includes several proprietary components. In contrast, Epiphany is fully
free software.
Marco Pesenti Gritti's avatar
Marco Pesenti Gritti committed
116

Code.'s avatar
Code. committed
117
## Human Interface
Marco Pesenti Gritti's avatar
Marco Pesenti Gritti committed
118

Michael Catanzaro's avatar
Michael Catanzaro committed
119
Epiphany follows the [GNOME Human Interface Guidelines](https://developer.gnome.org/hig/stable/).
120
Unless there are serious reasons to make an exception, not following the
Michael Catanzaro's avatar
Michael Catanzaro committed
121
guidelines will be considered a bug.
Marco Pesenti Gritti's avatar
Marco Pesenti Gritti committed
122

Code.'s avatar
Code. committed
123
### GNOME Integration
Marco Pesenti Gritti's avatar
Marco Pesenti Gritti committed
124

Michael Catanzaro's avatar
Michael Catanzaro committed
125
Epiphany's main goal is to be integrated with GNOME, as well as similar
Michael Catanzaro's avatar
Michael Catanzaro committed
126 127
desktops (notably elementary OS). We don't aim to make Epiphany usable outside
these environments.
Marco Pesenti Gritti's avatar
Marco Pesenti Gritti committed
128

Code.'s avatar
Code. committed
129
### Preferences
Marco Pesenti Gritti's avatar
Marco Pesenti Gritti committed
130

Michael Catanzaro's avatar
Michael Catanzaro committed
131
We are cautious about adding new preferences. Preferences can be added when they
132 133
make sense, but they should always be carefully-considered.
[Preferences come with a cost](https://ometer.com/preferences.html).
Marco Pesenti Gritti's avatar
Marco Pesenti Gritti committed
134

Code.'s avatar
Code. committed
135
### Target Audience
Marco Pesenti Gritti's avatar
Marco Pesenti Gritti committed
136

Michael Catanzaro's avatar
Michael Catanzaro committed
137 138
We target nontechnical users by design. This happens to be 90% of the user
population. Technical details should not exposed in the interface.
Marco Pesenti Gritti's avatar
Marco Pesenti Gritti committed
139

Nicolas Petton's avatar
Nicolas Petton committed
140
We target web users, not web developers. A few geek-oriented features, like the
Michael Catanzaro's avatar
Michael Catanzaro committed
141
web inspector, are welcome so long as they are non-obtrusive.
Marco Pesenti Gritti's avatar
Marco Pesenti Gritti committed
142

Code.'s avatar
Code. committed
143
## Website
Michael Catanzaro's avatar
Michael Catanzaro committed
144 145 146 147

[Epiphany has a website,](https://wiki.gnome.org/Apps/Web) though there is not
very much content there.

Code.'s avatar
Code. committed
148
## Contact Us
Marco Pesenti Gritti's avatar
Marco Pesenti Gritti committed
149

Michael Catanzaro's avatar
Michael Catanzaro committed
150
The recommended way to contact us is via the Epiphany mailing list
Nicolas Petton's avatar
Nicolas Petton committed
151
<epiphany-list@gnome.org>.